Virtualenv为不同的操作系统提供了不同的版本

2024-09-27 09:24:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在两个独立的系统上工作,DebianJessie和MacElCapitan。该项目托管在github上,两个系统都将从中拉入或推入。你知道吗

然而,我注意到在我的Debian上,当我运行python --version时,它会给我Python 3.4.2,但是在我的Mac上,它会给我Python 2.7.10,尽管我在同一个虚拟环境中。而且,当我在Debian上运行django-admin --version时,它会给我1.10,而在Mac上,1.8.3。你知道吗

即使我刚从github克隆项目并运行命令,也会发生这种情况。你知道吗

为什么虚拟环境没有保留相同版本的python和django?你知道吗


Tags: 项目django命令版本githubadminversionmac
2条回答

现在您明白了虚拟环境不可能很容易地从一台机器转移到另一台机器。使用

pip freeze

命令并将其输出存储在名为requirements.txt的文件中。然后其他任何人都可以通过运行

pip install -r requirements.txt

当您创建一个新的虚拟环境时,您可以说您希望使用哪一个Python解释器和-p python开关,后面应该跟有正确可执行文件的路径。你知道吗

我个人建议不要以任何方式修改系统Python,因为系统维护例程通常依赖于它的完整性。为python2和python3安装新副本相对简单,比如/usr/local/bin(Mac用户经常为此使用brew),并且拥有依赖不同Python解释器的虚拟环境。你知道吗

感谢@Oliver和@Daniel的评论,让我找到了为什么它不起作用的答案。你知道吗

我用python3在Debian上启动了虚拟环境。virtualenv创建了虚拟环境,但它是专门为Debian设计的。你知道吗

当我将它用于mac时,由于它不能在虚拟环境中运行python可执行文件(因为它只与Debian兼容),因此,它使用了我的mac系统python,即Python2.7.10。你知道吗

总之,由于virtualenv在系统上使用python可执行文件,当python可执行文件在另一个系统上运行时,它将无法工作。你知道吗

相关问题 更多 >

    热门问题