我是一个程序包的程序包维护者,该程序包依赖于我们自己的pip存储库中托管的程序包。
我希望在执行操作时也安装这些软件包pip install mypackage
。
setup(
name='mypackage',
version='1.1.2',
description='My awesome package',
dependency_links=[
'http://www.myrepo.se/packages/mydep1/',
'http://www.myrepo.se/packages/mydep2/'
]
install_requires=[
'mydep1==1.0.0',
'mydep2==5.6.7'
]
)
存储库中的文件夹结构如下:
packages/
mydep1/
mydep1-1.0.0.tar.gz
mydep2/
mydep2-5.5.1.tar.gz
mydep2-5.6.7.tar.gz
全部根据此问题的公认答案使用带有setup.py的额外python包索引网址
但是,这不起作用。我得到错误:
Collecting mydep1 (from mypackage==1.1.2)
Could not find a version that satisfies the requirement mydep1 (from mypackage==1.1.2) (from versions: )
No matching distribution found for mydep1 (from mypackage==1.1.2)
当我在我的requirements.txt文件中添加一个额外的索引URL之前,这是我必须将该URL添加为受信任的主机。有关系吗?我也在用python 3.5.3
编辑:我激活了pip的详细输出,它甚至没有尝试从我的仓库中找到该软件包。
1 location(s) to search for versions of mydep1:
* https://pypi.python.org/simple/mydep1/
Getting page https://pypi.python.org/simple/mydep1/
...
pip
除非您明确告诉它,否则似乎并没有处理依赖关系链接(不幸的是,这意味着mypackage的所有使用者都必须知道这样做)。
pip install --process-dependency-links mypackage
由于mypackage
也由同一存储库托管,因此意味着消费者requirements.txt
必须看起来像
--trusted-host http://www.myrepo.se/
--extra-index-url http://www.myrepo.se/packages
--process-dependency-links
mypackage==1.1.2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句