我在svn存储库中有另一个python项目(具有setup.py等)的克隆.我要安装告诉pip从该目录安装.但是,这是一个内部svn存储库,可以通过svn://方案(而非http://)进行访问.
我可以像这样很好地检出目录svn co svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version ./foobar,然后使用pip安装它:pip install foobar /,但是我可以一劳永逸.
这是我尝试过的内容和输出:
pip install svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version
...
File ".../virtualenv/lib/python2.5/site-packages/pip-0.7.2-py2.5.egg/pip/vcs/__init__.py", line 110, in get_url_rev
url = self.url.split('+', 1)[1]
IndexError: list index out of range
和
pip install svn+svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version
...
File "...virtualenv/lib/python2.5/site-packages/distribute-0.6.10-py2.5.egg/pkg_resources.py", line 2424, in scan_list
raise ValueError("Expected "+item_name+" in",line,"at",line[p:])
ValueError: ('Expected version spec in', 'svn+svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version', 'at', '+svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version')
这两个问题都会在URL末尾带有或不带有#egg = packagename时发生(带有相同的错误消息).
并作为可编辑的URL:
pip install -e svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version#egg=package
Obtaining package from svn+svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version#egg=package
Checking out svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version#egg=package to ../virtualenv/src/package
svn: URL 'svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version#egg=package' is not properly URI-encoded
因此,SVN抱怨URL的末尾是否有一个#egg = package,如果我忽略它,则会出现此错误:
pip install -e svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version
--editable=svn://172.31.1.3/Development/Common/ThirdParty/Python/package/our-version is not the right format; it must have #egg=Package
如何通过带有pip的SVN链接安装软件包?
解决方法:
现在是一个开放的错误.保罗·纳斯拉特(Paul Nasrat)正在研究它,并打开并发布.
跟随https://github.com/pypa/pip/issues/252
原文地址:https://codeday.me/bug/20191208/2092097.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。