簡體   English   中英

跨平台調用Python 3.x命令的方法

[英]Cross-platform way to invoke Python 3.x command

python命令通常跨不同的操作系統映射到最新的Python 2.x編譯器。 但是,是否存在調用Python 3.x解釋器(已安裝的任何版本或最新版本)的標准方法?

...因此,您可以將Python 3.x兼容腳本運行為:

 python3 yourscript.py

另外,是否還存在一種跨平台的方法來調用virtualenv命令來為Python 3創建本地安裝?

  • Ubuntu似乎提供了python3命令,似乎沒有提供預包裝的Python 3.x的virtualenv

  • OSX(Macports,BSD?)更喜歡python-3.2,python-3.1命令,提供virtualenv-3.2,virtualenv-3.1

目前,我正在嘗試一些反復試驗的啟發式方法來完成任務

沒有完整的解決方案。 客戶端上可能未安裝Python3。 那你怎么辦 您可能首先在腳本執行時檢查Python版本。

print sys.version_info
sys.version_info(major=2, minor=7, micro=2, releaselevel='final', serial=0)

如果執行的Python不是Python3,則可以要求用戶安裝它或使用Python3解釋器調用腳本,等等。當用戶使用Python2調用腳本時,您可能決定根本無法運行。 有很多方法(常見問題解答,系統要求等)來通知用戶該腳本需要Python3,然后讓他們處理該問題,而無需您嘗試在代碼中這樣做。

我已經在Microsoft .Net運行時中看到了這一點。 當用戶沒有所需的.Net版本時,程序將要求用戶在繼續安裝之前將其安裝,然后將其指向URL。

另一種建議是,在Linux系統上,您可以通過將Python3添加到腳本頂部來使用Python3(如果已安裝):

#!/usr/local/bin/python3

當然,您必須確定該路徑存在。 您可能還使用env來更靈活地執行此操作。

閱讀PEP 394在Unix-like SystemsWindows上的PEP 397 Python啟動器 上的“ python”命令后,我猜您最好的選擇是使用#! /usr/bin/python3 在腳本中使用#! /usr/bin/python3 shebang並指示Windows用戶安裝並使用Python啟動器py命令)而不是python命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM