我已经创建了一个包,并尝试将其上载到testpypi以测试它,如Python Packaging User Guide中所建议的那样。我创建了一个发行版,注册并上传到testpypi:
me@machine$ cd mypackage
me@machine:~/mypackage$ python setup.py sdist bdist_wheel
me@machine:~/mypackage$ twine register dist/mypackage-1.0.0-py3-none-any.whl -r https://testpypi.python.org/pypi
me@machine:~/mypackage$ twine upload dist/* -r https://testpypi.python.org/pypi
这个工作很好,但尝试安装它
^{pr2}$失败,错误如下:
Invalid requirement: '<?xml version="1.0" encoding="utf-8"?>'
Traceback (most recent call last):
[...]
pip._vendor.pyparsing.ParseException: Expected W:(abcd...) (at char 0), (line:1, col:1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/vol/home/me/miniconda3/envs/myenv/lib/python3.5/site-packages/pip/req/req_install.py", line 82, in __init__
req = Requirement(req)
File "/vol/home/me/miniconda3/envs/myenv/lib/python3.5/site-packages/pip/_vendor/packaging/requirements.py", line 96, in __init__
requirement_string[e.loc:e.loc + 8]))
pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'<?xml ve'"
怎么回事
用于使用testpypi服务器的命令行参数对于上载和安装是不同的。 对于pip,
-r
参数指定了一个需求文件,该文件显然可以是一个URL。如果您添加-v
,您将得到:但是,
https://testpypi.python.org/pypi
的响应不是有效的需求文件,pip崩溃。在如何修复
要使用
^{pr2}$pip install
从pypi以外的其他源安装,需要使用-i
参数:这应该如预期的那样工作,并从testpypi服务器安装
mypackage
。在相关问题 更多 >
编程相关推荐