在Windows和Linux上开发Web应用程序

时间:2012-08-14 14:09:43

标签: python git cross-platform virtualenv

我正在开发一个网络应用程序,工作需要从两台计算机完成,一台运行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

2 个答案:

答案 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存储库中。

在您使用的每台计算机上单独安装虚拟环境。