有没有办法“版本化”我的python发行版?

时间:2013-07-12 19:53:48

标签: python

我现在正在自己工作,但我正在寻找扩展我的操作的方法。

我想找一个简单的方法来版本化我的Python发行版,这样我就可以很容易地重新创建它。有没有工具可以做到这一点?或者我可以将/usr/local/lib/python2.7/site-packages/(或其他)添加到svn回购中吗?这并不能解决PATH的问题,但我总是可以编写一个脚本来改变路径。理想情况下,解决方案是在VM中构建我的Python env,然后将VM的副本移出。

其他人如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

virtualenv + requirements.txt是你的朋友。

您可以为项目创建多个虚拟python安装,所有内容都包含您所需的库版本(提示:pip freeze使用确切的库版本吐出一个requirements.txt。)

在这里找到对virtualenv的一个很好的参考:http://simononsoftware.com/virtualenv-tutorial/(来自这个问题Comprehensive beginner's virtualenv tutorial?)。

或者,如果您只想将代码与库一起分发,PyInstaller值得一试。您可以将所有内容打包在一个静态可执行文件中 - 您甚至不必在以后安装该软件。

答案 1 :(得分:5)

您想使用virtualenv。它允许您为已安装的包创建特定于应用程序的目录。您还可以使用pip生成并构建requirements.txt

答案 2 :(得分:0)

为了同一个目标,即拥有与我的同事完全相同的Python发行版,我尝试在网络驱动器中创建一个虚拟环境,这样我们每个人都可以使用它,而无需任何人制作本地副本。 我们的想法是共享安装在共享文件夹中的相同软件包。 结果:Python运行速度太快,无法使用。安装包也非常缓慢。

所以看起来除了使用virtualenv和一个需求文件之外别无他法。 (即使不幸的是,它常常在Windows上不能顺利运行,并且需要手动安装一些软件包和依赖项,至少在撰写本文时是这样。)