2013-02-19 23 views
2

我安裝了2.7和3.0版本的Python解釋器(在我的Ubuntu 32系統上),但是一個特定的腳本使用3.0。如何讓我的腳本選擇正確的python interperter?

使用程序與python myprogram.py運行時

#!/usr/bin/python3 -B 

將無法​​正常工作。

而且我還需要一個解決方案,該解決方案也適用於Windows,我也同時安裝了兩個python版本。

我該如何讓腳本只能使用正確的python版本運行?

+0

你不能,因爲'python'默認的python-2.X在這種情況下, ,所以你的腳本已經運行了。 – CharlesB 2013-02-19 10:17:32

回答

4

請使用virtualenv,這使得獨立的Python環境變得簡單。

+1

並以Python3.3開始[virtualenv將它作爲標準庫](http://docs.python.org/3.3/library/venv.html)作爲'venv' – cfi 2013-02-19 15:15:21

0

請看看The wrong python interpreter is called

你必須根據你安裝Python和你的系統變量所需版本上選擇一個正確的解釋。

+0

那裏的答案沒有提供便攜式解決方案這也在Windows下工作。 – 2013-02-19 10:23:26

1
python = Python to use. # This has to be the absolute path to Python executable 

os.execl(python, python, * sys.argv) 

這樣你就可以用你想要使用的python重啓腳本。不是很時尚。

+0

如果使用exec(p)變體,則可以運行路徑中的命令 – 2013-02-19 10:39:10

1

我不知道你爲什麼不能只用python3 foo.py啓動程序,但是可以讓python2程序以python3的形式重新啓動,就像這樣。

import sys 
if sys.version_info.major != 3: 
    import os 
    # replace this process with a python3 process 
    os.execlp("python3", "python3", *sys.argv) 

這是一個壞的解決方案,但因爲現在你的python3程序不能使用任何非有效python2語法

相關問題