2017-05-24 90 views
2

我有多個版本的Python。我需要爲我的項目創建一個virtualenv,並確保它使用Python 2.7。使用特定版本的Python創建Windows Python virtualenv

我已經試過的this guidevirtualenv在Windows和this SO postvirtualenv具有特定類型的Python的組合來實現這一點。

不幸的是,它不工作,這可能是因爲後者的資源是由某人使用Linux編寫的。

這裏就是我所做的:

C:\Python27\Scripts>pip install virtualenv You are using pip version 
6.0.6, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting virtualenv Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB) 
    100% |################################| 1.8MB 3.7MB/s eta 0:00:01 Installing collected packages: virtualenv 

Successfully installed virtualenv-15.1.0 

C:\Python27\Scripts>pip install virtualenvwrapper-win You are using pip version 6.0.6, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting virtualenvwrapper-win Downloading virtualenvwrapper-win-1.2.1.zip Requirement already satisfied (use 
--upgrade to upgrade): virtualenv in c:\python27\lib\site-packages (from virtualenvwrapper 
-win) Installing collected packages: virtualenvwrapper-win Running setup.py install for virtualenvwrapper-win Successfully installed virtualenvwrapper-win-1.2.1 

C:\Python27\Scripts>mkvirtualenv c:\users\hackr\Desktop\P27_D19 --python=C:\Python27\python.exe 
'python.exe' is not recognized as an internal or external command, operable program or batch file. 

'virtualenv.exe' is not recognized as an internal or external command, operable program or batch file.

更新:我剛拿到這款使用簡單virtualenv,而不是推薦mkvirtualenv命令,我以爲是他們有我的包裝的一部分工作安裝。如果有人想幫助我瞭解發生了什麼事情,並且如果有任何不使用包裝的垮臺,這將是寫出答案的好方法。

回答

1

如果安裝有多個的Python版本,這是最好的總是指定完整路徑(可以肯定的),而不是依靠環境變量(至少這是我如何做到這一點):

  • pip install virtualenv :我這樣做:"C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenv(不介意路徑)來控制Python安裝(virtualenvwrapper同樣的事情)。

我沒有mkvirtualenv「%PYTHON_INSTALLATION_DIR%\腳本」(如「C:\安裝\ 64 \ Python的\ 3.5.3 \腳本」)文件夾,但(這是我 「製作」 現在的例子):

  • "c:\Install\x64\Python\3.5.3\Scripts\virtualenv.exe" -p "c:\Install\x64\Python\2.7.13\python.exe" "c:\venvs\py2713"

從此:

  • "c:\venvs\py2713\Scripts\activate.bat"
  • python ......

我知道,這是一種惱人的指定所有這些時髦的路徑(上LNX是SOOOO容易得多),但至少它是安全的。無論如何,在設置虛擬環境之後,您可以調整您的環境(%PATH%),因此您不必指定完整路徑。

我注意到您的評論而寫作,我必須說,PyCharm專業版)是的Django工作的一個很好的工具(實際上與的Python一般的事)。如果另一方面,你去社區版它不是很好(如預期)。 [SO]: Run/Debug a Django application's UnitTests from the mouse right click context menu in PyCharm Community Edition?是我不得不面對的痛苦問題之一。

@ EDIT0

剛纔我安裝virtualenvwrapper- 贏得"C:\Install\x64\Python\3.5.3\python.exe" -m pip install virtualenvwrapper-win。運行mkvirtualenv,無論是由它的完整路徑或通過在%PATH%mkvirtualenv a)將它的父文件夾中,得到相同的錯誤:

'python.exe' is not recognized as an internal or external command, operable program or batch file.

它創建的VENV下%USERPROFILE% \ Envs)。所以錯誤是良性的。反正它可以固定有兩種方法:

  • 設置%PYTHONHOME%
  • %添加路徑python.exe PATH%

,我做了一個額外的步驟,將%WORKON_HOME%設置爲我想要我的VEnvs所在的文件夾。請注意,環境變量必須持久保存(因爲我只是爲了測試目的而設置的,所以我只將它們設置在我用於此任務的控制檯上),否則必須在每次需要使用這些控制檯時設置這些變量工具。

workon後,lsvirtualenv工作就像一個魅力(當然,不是一樣大,在LNX,但足夠接近)。

注意(約mkvirtualenvV1.2.1):它會使用默認python.exe(見上文),作爲基礎的新VENV,它並不像靈活virtualenv.exe(它接受-p/--python參數)。

+0

我認爲你寫的會起作用,我對你的答案讚不絕口。請檢查我剛添加到我的問題作爲編輯的更新。我在10分鐘前就開始工作了,但我不確定爲什麼本教程推薦的包裝不起作用,或者如果我未使用它,導致將來出現問題。如果您對此有任何瞭解,請將其添加到您的答案中,我將接受它作爲解決方案。是的,我同意這是一個很好的IDE,但IDE與問題/答案沒有任何關係。即使這樣做,被迫使用一些特定的IDE也會受到限制)。 –

+0

不使用_virtualenvwrapper_,應該對未來沒有負面影響,因爲它是對_virtualenv_的簡單包裝。我記得_Lnx_ + _Django_「era」這個'workon'功能真的很棒(使用_TAB_從命令行中「瀏覽」_VEnv_名稱,就像它們是文件/文件夾一樣)。不過,我無法在_Win_上做同樣的事情(我也必須說我沒有很努力地嘗試)。 – CristiFati

+0

非常感謝;我在'virtualenvwrapper-win'上解決方案 –

相關問題