2012-09-30 126 views
2

我有2個版本的Python安裝在Windows,2.7.3和3.3。我的一些腳本是2.x和一些3.x.當從命令行執行這些腳本以將它們引導至適當的解釋器時,有沒有簡單的方法?如何運行安裝了多個python版本的腳本?

+1

Ubuntu的安裝別名,'python2'和'python3',但是你不提你使用什麼操作系統或安裝包。 –

回答

8

注:對於Windows使用新的Windows的Python啓動器(可與的Python 3.3和下載here的早期版本),其中確認的Unix shell shebangs。你可以閱讀關於它here

大多數Linux發行版將創建python2python3別名安裝的Python 2.x的Python 3.x都有解釋器(如果不是你可以自己創建符號鏈接你的$PATH任何地方,在env命令將照顧找到他們的),所以你應該只需要設置相應的解釋作爲腳本的第一行:

#!/usr/bin/env python2 

#!/usr/bin/env python3 

如果您將腳本文件設置爲可執行文件並直接在shell上直接調用它,這將指示shell使用適當的解釋器。例如:

$ chmod +x script.py 
$ ./script.py 
+0

這不適用於海報正在運行的窗口。 –

+2

這張海報並沒有提到最初的Windows是操作系統。:( –

+0

是的,但它仍然有可能與PATH和別名一塌糊塗,我就會給它一個鏡頭 – U2ros

2

試試這個:我在OS X上,但是當我想用Python 2.6而不是Python 2.7(它是一個numpy/scipy的東西)時,我只需運行python2.6 whatever.py來運行whatever.py Python 2.6。先嚐試一下。

如果這不起作用,那麼您可以使用virtualenv - Python的虛擬環境構建器。

http://pypi.python.org/pypi/virtualenv

我肯定也有類似的替代品了。

+0

在Ubuntu上,即時通訊正在做這件事;> – U2ros

1

Pedro Romano的回答是這樣做的最優雅的方式。

但是,如果您不想下載並安裝Python啓動程序,請按照以下說明創建批處理文件。您也可以創建一個快捷方式,將C:\ Python27 \ python.exe複製到C:\ Python27 \ python27.exe等。

我在猜測C:\ Python27和C:\ Python33已經在您的系統上路徑。如果是這樣,你可以創建一個名爲python2.7.bat在C批處理文件:\ Python27 \包含:

C:\Python27\python.exe %1 

和類似的文件C(例如python3.3.bat):\ Python33 \

現在,你可以在命令提示符下從任何地方運行python2.7 script.py,它應該工作:)