簡體   English   中英

更改virtualenv中使用的python版本

[英]changing the python version used in a virtualenv

我有一個virtualenv項目,它使用python2.6,但現在我想使用python2.7。 有沒有辦法做到這一點,而無需備份我的項目文件,為正確的python版本重新創建virtualenv,然后將我的文件復制回virtualenv?

這似乎不是一個手工完成的大任務,但能夠自動化這對於輕松測試一個項目對許多python版本仍然非常有用,同時仍然在virtualenv。

只需將您的項目移到virutalenv文件夾之外。 出於這個原因,他們不應該在那里。

使用不同版本的python可能會引入稍微不同的包,因此最好只創建一個新的virutalenv w / 2.7並安裝所有依賴項。 然后,當您想要針對不同的python版本進行測試時,只需激活您的腳本並使用正確的環境。

這是晚了3年,但它可能會幫助別人......

此響應主要適用於作為主要開發平台的Windows OS(7)。 這些是我建議管理多個Python虛擬環境的步驟。

注意1 :您可能需要以管理員權限運行命令提示符。

注意2 :您可能需要為每個Python版本安裝一個版本的“setuptools”; 我不確定,因為我還沒有越過那個[眾所周知的]橋梁。 使用哪個easy_install來安裝virtualenv無關緊要。 應該檢索最新的virtualenv並且應該支持所有版本的Python(我的邏輯猜測。)

注3 :Python .msi安裝程序將向Windows的注冊表寫入幾個條目。 因此,如果您計划在多個Python版本下進行開發和測試,那么您可能只想使用歸檔分發。

  1. 設置一個環境變量(除了必需的變量;即PYTHONPATH)並將其命名為PYTHONHOME。 然后PYTHONPATH變量應該引用PYTHONHOME變量。
  2. 安裝需要測試的每個Python版本,這只需要將PythonX.X代碼庫解壓縮到您選擇的開發位置即可。
  3. 要簡化Python版本之間的切換,只需為每個版本創建一個.bat文件,為您設置系統環境變量(PYTHONHOME)。 這是我使用的方法。

    實際上,您可以在名為“SetPython2.8.bat”的.bat文件中使用以下腳本命令:

    setx / m PYTHONHOME“path \\ to \\ python \\ verion2.8”

  4. 當您創建虛擬[Python]環境時,請根據所需的Python版本執行特定的.bat文件,對於上面的示例,該版本將為“SetPython2.8.bat”。

    右鍵單擊,以管理員身份運行

  5. 為每個Python虛擬環境創建一個額外的.bat文件,僅用於激活目的。 現在,當您需要為特定Python環境安裝特定庫時,只需執行(以管理員身份)特定的.bat文件,然后安裝庫。

    以下是一組名為“Activate_Python2.8_VEnv.bat”的假設腳本的命令:

    標題“VirtualEnv:Python2.8”設置PATH_TO_WORKSPC =“C:\\ path \\ to \\ workspace”cd%PATH_TO_WORKSPC%\\ VirtualEnvironments \\ python cd Python2.8設置“_OLD_VIRTUAL_PROMPT = $ g”cmd / K Scripts \\ activate.bat檢查activate.bat文件(在您的虛擬環境中)以了解我們為什么設置“_OLD_VIRTUAL_PROMPT”。

  6. 或者,您也可以選擇安裝主系統Python(如1 )。 但是,就靈活性而言,虛擬環境似乎是要走的路。

  7. [隨意改進]

這是一個關於如何在Mac或Unix平台上安裝不同Python版本的參考線程

要輕松地針對許多python版本測試項目,您可以使用tox

暫無
暫無

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

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