2011-11-13 34 views
4

我知道如何在Python腳本來告訴UNIX系統中的python版本來運行它(#!的/ usr/bin中/ env的python3.2)寫的,但我怎麼做,在視窗。我將通過distutils將程序部署到安裝了python2.7和3.2的windows box。我需要強制使用2.7迫使Python版本在Windows

謝謝!

回答

4

即使在unix上用shebang(#!)也不是迫使要運行哪個版本。如果沒有直接(./my.py)執行的程序,而是運行等python2 my.py那麼Python 2將仍然可以使用。

我建議最安全的方法是在你的腳本開始檢查版本和一個錯誤消息保釋出來,如果它是不適合的,例如:

if sys.version_info[:3] < (3,2,0): 
    print('requires Python >= 3.2.0') 
    sys.exit(1) 
+0

謝謝你的版本檢查的語句。我將在我的所有腳本中使用它。對於這個程序,我發佈distutils我的期望是,用戶只需點擊它來運行它。當它以這種方式運行時,我怎樣才能讓它在正確的版本中出現? –

+1

@LanceCollins。沒問題。我擔心自從我在Windows上做了任何註釋之後已經很久了。有可能是一個更好的解決方案,並希望有人會拿出它,但一個簡單的一個來直心,只是附帶你的程序有一個簡單的'.bat'只是調用'path_to_python2 my.py',明顯的缺點因爲您需要提前知道'path_to_python2'。看看http://stackoverflow.com/questions/341184/can-i-install-python-3-x-and-2-x-on-the-same-computer,這是可能的一些想法有可能幫你。 – tjm

+2

更妙的是添加代碼來找到3.2二進制文件的位置(在註冊表中的樣子嗎?),讓你的腳本EXEC本身與3.2二進制文件。 –