python - 在 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 站点之前有效?
解决方案
您的语法没有任何问题,只是与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 上解决。
推荐阅读
- sqlite - 如何将在线图像字符串放入 SQLite 数据库并在 Flutter 中离线检索它们?
- vue.js - vue.js 组件是否需要名称选项?
- karate - 在启用并行执行并通过 maven 命令完成执行时获取总执行时间
- php - Laravel redirect()->back() 返回 iframe
- c# - 如何打断说动词以收集输入?
- python - 根据输入创建包含三个单词短语的词典
- python - Numpy where 行为
- amazon-web-services - AWS cloudwatch SNS 服务仪表板“没有可显示的指标”
- azure-active-directory - 如何通过 Keycloak 社交登录从 Azure AD 获取附加属性
- c# - 发布项目时,获取项目而不是尝试将 ID 推回结果是否是正确的形式?