如何排除PyPi问题
相关版本:这个信息与…有关Artifactory 4.0.2及以上版本
在排除PyPI错误时,最好比较一下是什么应该发生的反对你的系统目前经历.通过模拟可以消除大量的噪声每一个步骤您的客户端正在检查Artifactory发送给您的HTTP错误代码。
一般来说,这些是错误代码你接下来可能会遇到的问题,以及你应该从哪里寻找答案/解决方案:
- 403和401:身份验证问题,检查授权设置
- 404:资源未找到,请检查存储库是否有资源
- 400:不正确的请求,使用cURL获取原因短语
- 50 x:服务器问题,检查artifact .log
使用旋度
libcurl终端应用程序可以使基本REST API命令,例如GET或PUT选项。Artifactory的请求日志显示PyPi客户端使用的确切API命令,您可以根据这个日志文件确定要运行的确切命令。
你可以使用下面的例子,或者用一个特别不适合你的例子代替。这样做应该会得到关于问题的进一步信息,以及可能的下一步措施。
cURL的基本用法(带#comments):
curl -uadmin #Artifactory-username -vvv #verbosy -k #ignore-insecure-SSL -XGET #GET-request http://localhost:8081/artifactory/api/system/ping
cURL默认使用GET请求。其他命令,比如把,要求拼字段,以及(通常是JSON)数据有效负载。PUT命令示例:
curl -uadmin:password -XPUT -H"Content-type: Application/json"——data " {"name":"test-group"}' http://localhost:8081/artifactory/api/security/groups/test-group . curl -uadmin:password -XPUT -H"Content-type: Application/json
pip安装
PIP安装nginxctl
之后,客户机将从/简单的API端点:
538 | 20180524093654 | | 127.0.0.1请求匿名| | | / api / pypi / pypi /简单/ nginxctl / HTTP / 1.1 | 200 | 0 |
使用此元数据,客户机将下载gz文件:
1412 | 20180524093656 | | 127.0.0.1请求匿名| | | / api / pypi pypi /包/ 72/45/936e0805da71fcaf0e5a1f9256f757f5fa95057e391687ba067ef2d52926 / nginxctl-1.1.2.tar.gz HTTP / 1.1 | 200 | 17024 |
然后客户端将从下载的包中安装gz。
部署包:
当你配置了一个给定的包.pypirc指向Artifactory,然后您可以运行以下命令来启动它的部署:
Python setup.py sdist upload -r local——或——Python setup.py bdist_wheel upload -r local
这将执行帖子行动,这提交包装到Artifactory:
| 10499 | 20180524094126 |请求127.0.0.1 |管理|发布| / api / pypi / pypi HTTP / 1.1 | 200 | 3357 |
这取决于你是否指定了Python轮或者一个简单的包上传,你会在你的PyPI本地存储库中看到部署文件:
/简单
在Artifactory中,PyPI包元数据可在您的/ api / pypi / < PyPi_Repo > /简单/文件夹中。你可以去看这个URL在您的web浏览器中查看是否有问题获取PyPI包元数据:
可以跟随与PyPi包名称匹配的超链接,您应该可以看到包的底层版本:
如果你点击其中一个*.tar.gz超链接,你的网络浏览器就会下载这个包。pip客户端正在做同样的事情,只是缺少了web浏览器!