PIP:仅安装依赖项

时间:2010-02-23 10:44:39

标签: python distribution virtualenv pip distribute

我有一个脚本可以创建virtualenv,在其中安装distributepip,然后可选择克隆git个回购。

现在我已经安装了我将要开发的项目。但是没有安装它的依赖项。如何让pip安装所有依赖项,就像我发布了pip install MyApp一样?

编辑:显然我的问题与this one重复。

不完全确定,pip install -e .似乎做了我想做的事,没有太多额外的东西。如果我的代码没有从site-packages链接,我更喜欢。

4 个答案:

答案 0 :(得分:20)

在我的软件包根目录中发布pip install -e .安装依赖项。

答案 1 :(得分:7)

您应该使用点数要求文件。

基本上,将所有需求放在一个文件中的每一行中,并使用命令将其传递给pip

pip install -r requirements.txt

此外,如果您有标准环境,pip实际上可以使用以下命令从现有安装中转储此类文件:

pip freeze

您可以将生成的文件直接放入pip要求,并从部署脚本中调用上一个命令。

非常酷,不是吗? :)

答案 2 :(得分:5)

如果您的依赖项在setup.py文件中定义,则可以先使用以下命令将它们转储到外部文件中:

python setup.py egg_info

这将在YOUR_PROJECT.egg-info/requires.txt文件中列出所有依赖项。然后,您可以使用pip安装它们:

pip install -r *.egg-info/requires.txt

答案 3 :(得分:0)

要安装项目的依赖项(即install_requires + extra_requires),您必须使用setuptools egg-info提取依赖项,然后安装组合依赖项的过滤列表:

python setup.py egg_info
pip install `grep -v '^\[' *.egg-info/requires.txt`