2013-01-07 46 views
1

是否可以收集许多Python扩展并一步安装它们?我有一个用于开源项目的Python构建环境,通常需要在多台机器上重新创建。每次我们需要这样做时,双击一堆python扩展exes是件很痛苦的事情。如何在一个步骤中安装多个python扩展

理想情况下,我想包一个完整的编译环境,Python和扩展,系统环境变量,以及所有,成一个步安装过程。但是单步扩展安装也是有帮助的。这可能吗?

+0

当你说'安装'时,你究竟是什么意思? PyInstaller类型的可执行文件,.egg,pip? – PenguinCoder

+0

当你说“扩展名”时,你的意思是特指一个“Python扩展模块”,它是用C语言编写的模块吗?或者,您是否将“扩展”用作“库”的另一个词,可能是纯Python,C扩展模块或两者的组合? –

+0

另外,你想拥有这一切安装在应用程序依赖的方式(只有一个程序,或使用自动安装的每个程序,将有机会获得这些扩展名),或你的意思的方式来安装扩展任何在系统上运行的python程序都可以使用它们? –

回答

9

是的,你可以做到这一点...你已经安装在系统中pip(python indexed package)? 如果不是,然后再进行安装......并把所有的扩展成一个单一的文本文件...说... requirements.txt

这是通过运行

pip freeze > requirements.txt

进行再经使用PIP你可以安装它...使用此命令...

pip install -r requirements.txt ...

它将安装文件中提到的所有扩展...

,你可以找到PIP封装这里pip 可以帮助你......

+1

为pip添加了冻结命令。 – sean

+0

+1。您可能还需要查看软件包索引功能,以便可以包含实际的软件包以及冻结的需求文件。有关详细信息,请参阅[此处](http://www.pip-installer.org/en/latest/usage.html#alternate-package-repositories)及以下版本。 – abarnert

1

您可以与Distribute定义包的依赖关系,并使用easy_install或当你问到安装包pip将安装所有的依赖。

+0

因此,一个空的包,其中setup.py只有依赖关系? – Rich

+0

@这可能是一个选择,当然。我一直都在为我的客户设置做这件事。 :-)但这是web服务器,所以它有点特别。 –