我一直在成功地使用虛擬環境,但這是我第一次遇到這樣的問題。虛擬環境在不同的機器上啓動不同版本的python
在我的虛擬環境中,我有Python 3.5 + Django包+其他包的數量。我成功地運行我的Django應用程序使用Python 3.5從虛擬環境在機器上。
在機器B上,在我source env/bin/activate
我的虛擬環境之後。 python
命令將啓動Python 2.7 +不存在Django包。
我如何進行調查並使Venv在兩臺機器上的行爲方式相同?
我一直在成功地使用虛擬環境,但這是我第一次遇到這樣的問題。虛擬環境在不同的機器上啓動不同版本的python
在我的虛擬環境中,我有Python 3.5 + Django包+其他包的數量。我成功地運行我的Django應用程序使用Python 3.5從虛擬環境在機器上。
在機器B上,在我source env/bin/activate
我的虛擬環境之後。 python
命令將啓動Python 2.7 +不存在Django包。
我如何進行調查並使Venv在兩臺機器上的行爲方式相同?
有兩種選擇可以在虛擬環境中獲得相同的Python版本。
檢查是否有Python的3.5鍵入
python3 -V
進入命令行計算機上安裝。如果說3.5.x的,你可以去和創建
pyvenv /path/to/your/new/venv
虛擬環境中您可以安裝你的包(Django的,等等):
機器A
pip freeze > requirements.txt
轉移上requirements.txt到機器B並做
source /path/to/your/new/venv/bin/activate
pip install -r requirements.txt
如果您的c語言版本c hecked in 1.不是3.5.x,你必須自己編譯這個版本。檢查這個問題Use different Python version with virtualenv
感謝Matthias!現在我變得非常困惑。我一直認爲虛擬環境實際存儲了您安裝的所有Python版本和軟件包,因此當您將虛擬環境移動到另一臺計算機時 - 所有這些Python和包都在venv文件夾中等待您。情況並非如此嗎? – Dennis
我不知道所有的細節。但建議使用相同的Python版本構建您的虛擬環境,然後通過需求文件重新安裝新的軟件包。 –
你是如何遷移虛擬ENV? –
例如,你在.bashrc中有什麼東西可以將Python 2.7放在路徑上? – Metropolis
可能的重複[在python2虛擬環境中安裝python3](http://stackoverflow.com/questions/41390053/installing-python3-in-a-python2-virtual-environment) – e4c5