首页 > 解决方案 > 在 testpypi 上检查 setuptools install_requires

问题描述

我正在尝试使用 test 测试我想发布的 python 包test.pypi

setup.py我的文件中install_requires=['numpy>=1.15','scipy>=0.0','scikit-learn>=0.2','numba>=0.0'],

Scipy 和 Numpy 已按预期下载并安装。

我收到以下错误:ERROR: Could not find a version that satisfies the requirement numba>=0.0

请注意,如果我pip install numba在测试包之前这样做,它将起作用,但我正在尝试使包正常工作。

我注意到当它scipy首先满足要求时,它显示Downloading https://test-files.pythonhosted.org/packages/68/72/eb962a3ae2755af6b1f31f7a94dccc21bfc41bb1637c5877a043e711b1d7/scipy-0.1.tar.gz.

所以从 url 来看,它似乎正在使用测试文件,但这是常规的 pypi 还是只是测试文件?

我的问题是:什么是正确的编写方式,install_requires以便我可以确保测试在将其放在实际的 pypi 站点之前有效?

标签: pythonsetuptoolspypi

解决方案


您的语法没有任何问题,只是与scipy,numpy和不同,测试 PyPI 实例上scikit-learn没有numba托管。相比:

https://pypi.org/project/numba/ <-- 200 OK

https://test.pypi.org/project/numba/ <-- 404 未找到

我的问题是:编写 install_requires 的合适方法是什么,以便我可以确保测试在将其放在实际的 pypi 站点之前有效?

你怎么写install_requires是可以的。要对其进行烟雾测试,通过上传您的包来测试 PyPI 并检查它是否正确安装,使用测试 PyPI 作为额外的索引 url,而不是作为替代--index-url

pip install yourpackage --extra-index-url=https://test.pypi.org/simple/

这种方式yourpackage可以在测试 PyPI 中找到,但安装要求等numba仍然可以在主 PyPI 上解决。


推荐阅读