简短描述
这个问题并不是要问是否需要使用虚拟环境,而是在使用Ian Bicking的virtualenv时,在Windows中管理环境的最佳方式是什么(如果有的话)。如果您有多个想法,请多次回答,以便最好的答案可以投票。谢谢!
背景
在python中开发时,我通常尽量使用Mac osx / bash。但是,总有一些项目我不得不使用Windows来获得硬件/驱动程序支持。对于这些项目,我倾向于依靠“双击”方法来运行带有已注册python.exe的模块。使用“双击”是一种同时运行多个线程/测试的简单方法,无需打开新的命令提示符,向下钻取到所需的目录,然后键入“python.exe module.py” 。
最终目标
我想有办法管理和利用虚拟环境,而不必在命令提示符下(仅限Windows)
愿望清单
1.能够从pip(命令行)或二进制文件安装模块(对于那些因任何原因无法用pip安装的模块)。
2.使用virtualenv.exe从GUI管理环境。 (创建,删除,列出,激活等......)
研究
到目前为止,我已经能够使用不同的脚本/方法完成我的愿望清单中的点点滴滴,但还没有找到一种方法来组合它们。我计划将其中的大部分组合成我自己的GUI,但是认为找出是否存在良好的原因是明智的。
使用更改在Windows中注册的python版本的脚本,可以非常轻松地将二进制文件安装到虚拟环境中。我已经使用该脚本几个月了,只有很好的结果。见SO Question
管理环境似乎是更困难的部分。
如果使用bash,则由Doug Hellmann编写virutalenvwrapper。我在Mac OSX上工作时会使用它,并且会推荐它。
在Power Shell中找到了here的一个端口,但仍需要安装第三方命令提示符界面。
Windows中一个比较独特的端口,我看到将virtualenvwrapper用于bat文件。我没有测试过这个,但它仍然需要使用命令提示符。找到here
迄今为止我发现的最有希望的助手功能是由Justin Driscoll编写的。虽然this确切的例子需要命令提示符,但将它转换为python GUI可以调用的东西是微不足道的。在我认为应该与群众一起检查实现目标的最佳途径之前,这是我走下去的道路。
答案 0 :(得分:2)
您可能需要查看zc.buildout。假设用户安装了Python,您可以双击bootstrap.py
python脚本来生成环境。
创建后,双击bin\buildout.exe
将递归安装依赖项并运行您定义的任何前/后挂钩方法。 zc.buildout允许您指定特定于平台的依赖项和非python依赖项。此外,您可以定义自己的buildout脚本以放入bin\
文件夹。例如,Plone小组有一篇好文章Buildout on Windows引用他们自己的脚本bin\instance.exe
虽然在Mac / Linux / BSD上没有像virtualenv那样完美,但是会创建相同的构建环境(例如。bin/buildout
而不是bin\buildout.exe
)来实现您拥有的跨平台要求。 / p>