我正在开发一个网络应用程序,工作需要从两台计算机完成,一台运行Linux,另一台运行Windows。
此应用程序是使用Python 2.6.7上的Pyramid框架开发的(这是服务器运行的,我无法对其进行更改)
按照Pyramid网站上的教程,我在Linux机器上创建了一个virtualenv
,并创建了一个项目 - 测试它,它似乎在Linux机器上运行没有问题。现在为了将工作同步到Windows,我想到了使用git(带有来自bitbucket的免费私有项目)。我创建了一个git项目并将其推送到bitbucket。我使用了这个.gitignore文件模板,我也添加了这一行(我相信venv是特定于操作系统的,但我可能错了):
venv
在我将项目克隆到Windows之后,我没有一个virtualenv - 如何创建一个与Linux机器上存在的venv兼容的venv(我的Windows机器上安装了Python 2.7) ,没有sqlalchemy等)?什么是正确的'这样做的方式?我应该给app(这是一个拼写错误,但是我现在就把它留下来)Windows并在虚拟机上使用Ubuntu?
修改
虽然我已经接受了Rostyslav Dzinko关于使用requirements.txt
文件的答案,但正确的方法是实际使用由金字塔生成的内置setup.py
' pcreate
过程中的脚手架机制。因此,如果有人遇到此问题,请考虑尝试:
python setup.py develop
答案 0 :(得分:2)
Virtualenv为您的Python解释器创建虚拟环境。这意味着每个虚拟环境可以安装不同版本的相同软件包,或者根本只对您的项目(依赖项)具有不同的软件包。
如果要管理依赖项,可以使用pip使新虚拟环境与旧虚拟环境保持同步。
您需要做的就是创建requirements.txt文件并用依赖项填充它,例如:
pyramid==1.0.1
...
将此文件放在您的git存储库中。
在新机器上将源克隆到新创建的virtualenv之后,您可以使用pip安装所有依赖项:
pip install -r requirements.txt
答案 1 :(得分:0)
virtual-env是系统上安装的Python运行时环境。它不是您的代码库的一部分,因此不应该在您的Git存储库中。
在您使用的每台计算机上单独安装虚拟环境。