39

我有一个脚本,它创建一个virtualenv,安装distributepip在其中,然后可选地克隆一个gitrepo。

现在我已经安装了我将要处理的项目。但它的依赖项没有安装。我怎样才能pip安装所有依赖项,就好像我已经发布了一个pip install MyApp

编辑:显然我的问题是这个问题的副本

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

4

4 回答 4

22

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

python setup.py egg_info

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

pip install -r *.egg-info/requires.txt
于 2018-11-11T17:59:15.023 回答
17

在我的包根发行pip install -e .安装依赖项。

于 2010-03-01T08:31:43.563 回答
3

您应该使用 pip 要求文件。

本质上,将所有要求放在文件的每一行中,然后使用命令将其传递给 pip

pip install -r requirements.txt

更重要的是,如果你有一个标准环境,pip 实际上可以使用以下命令从现有安装中转储这样的文件:

pip freeze

您可以将由此生成的文件直接放入 pip 需求中,并从部署脚本中调用前面的命令。

很酷,不是吗?:)

于 2010-02-23T12:59:39.913 回答
3

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

python setup.py egg_info
pip install `grep -v '^\[' *.egg-info/requires.txt`
于 2020-03-03T15:58:15.120 回答