我一直在成功地使用虚拟环境,但这是我第一次遇到这样的问题。虚拟环境在不同的机器上启动不同版本的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