我有一个依赖于几个包的 Python 应用程序。不幸的是,其中一个包不在 PyPi 中,所以我必须直接从 git repo 安装它。
我一直在尝试将它添加到我的 setup.py 中,如下所示:
setup(
..,
..,
dependency_links = [
'https://github.com/marcuz/libpynexmo.git#egg=nexmomessage'
],
install_requires=[
..,
'nexmomessage'
],
packages=['localpackage']
但是它失败了:根本没有找到nexmomessage的分布
我看到它在哪里创建了依赖链接列表:将 dependency_links 写入 common.egg-info/dependency_links.txt - 当我查看该文件时,URL 是正确的。
如果我在命令行运行它: pip install -e git+ https://github.com/marcuz/libpynexmo.git#egg=nexmomessage
它安装没有问题。
想法?
从 pip 1.5 开始,不推荐使用依赖链接。目前仍然可以强制 pip 将它们与
--process-dependency-links
标志一起使用。您可能还必须使用--allow-external packagename
or--allow-unverified packagename
,其中packagename
实际指定要安装的任何依赖项不在官方存储库中请注意,由于它已被弃用,因此该
--process-dependency-links
标志将很快被完全删除。我相信首选的方法是提供requirements.txt
文件。从 pip 7 开始,它们再次启用。这意味着您现在可以
dependency_links
使用 pip:pip install -e /path/to/python/module --process-dependency-links --allow-all-external
如果您使用的是发行版系统 pip,您可能需要升级 pip:
pip install pip --upgrade
似乎发生在拉取请求#1519中