在多台计算机上同步VirtualEnv

7

最近我买了一台新笔记本电脑,这样我就可以不仅在工作站上工作。

我有一个Django REST应用程序,为此项目我正在使用VirtualEnv。

我的问题是:
如何“同步”虚拟环境以安装新的依赖包?

在我的工作站上,我安装了Django、Django REST等等...
我该怎么办,以便在我的笔记本电脑上每次都不必手动安装新的依赖项?


我认为没有简单的方法。在virtualenv中有许多硬编码的目录路径,因此除非您将virtualenv从旧计算机复制到新计算机的完全相同的目录中,否则很难使其正常工作。但是另一方面,如果您准备好了requirements.txt文件,则几乎可以轻松安装其中的所有内容。 - Shang Wang
1个回答

8

激活您的虚拟环境,然后运行:

pip freeze > requirements.txt

无论你如何传输代码,你都可以传输这个文件。 然后在你的笔记本电脑上,你可以将它作为同步脚本的一部分。
pip install -r requirements.txt

通常我有一对看起来像这样的sh文件:

# upload change
pip freeze > requirements.txt
git add -a .
git commit -m "message"
git push

并且

# Get files
git pull
pip install -r requirements.txt

有趣。我会研究一下。 - Amir Tugi
顺便提一下,如果您使用像Heroku这样的服务,这正是他们如何将您的依赖项与代码库同步的方法。 - triunenature
1
可以使用这个答案来添加一个git钩子,在每次提交之前自动更新requirements.txt。 - Seanonymous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接