PIP:只安装依赖项
我有一个脚本,它可以创建一个 virtualenv
(虚拟环境),然后在里面安装 distribute
和 pip
,接着可选地克隆一个 git
仓库。
现在我已经安装好了我将要工作的项目,但它的依赖项还没有安装。我该怎么做才能让 pip
安装所有的依赖,就像我输入 pip install MyApp
一样?
编辑:显然我的问题和 这个问题是重复的。
我不太确定,但 pip install -e .
似乎可以做到我想要的,而且不会留下太多多余的东西。不过我更希望我的代码不被链接到 site-packages
里。
5 个回答
5
要安装你项目所需要的依赖项(也就是 install_requires
和 extra_requires
),你需要先用 setuptools 的 egg-info
来提取这些依赖项,然后再安装经过筛选后的依赖项列表:
python setup.py egg_info
pip install `grep -v '^\[' *.egg-info/requires.txt`
29
如果你的依赖项是在 setup.py
文件中定义的,你可以先把它们导出到一个外部文件,方法是:
python setup.py egg_info
这样会把你所有的依赖项列在 YOUR_PROJECT.egg-info/requires.txt
文件中。然后你可以使用 pip
来安装它们:
pip install -r *.egg-info/requires.txt
要删除你刚刚创建的文件,可以使用:
rm -rf *.egg-info/
为了节省一些复制粘贴的时间,可以使用:
python setup.py egg_info
pip install -r *.egg-info/requires.txt
rm -rf *.egg-info/
7
在我的项目根目录下,输入 pip install -e .
这个命令可以安装所需的依赖包。