【问题标题】:Checking setuptools install_requires on testpypi在 testpypi 上检查 setuptools install_requires
【发布时间】:2020-07-20 01:58:36
【问题描述】:

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

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 站点之前确保测试有效?

【问题讨论】:

    标签: python setuptools pypi


    【解决方案1】:

    您的语法没有问题,只是与scipynumpyscikit-learn 不同,测试 PyPI 实例上没有托管numba。比较:

    https://pypi.org/project/numba/

    https://test.pypi.org/project/numba/

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

    install_requires 的写法没问题。要对其进行烟雾测试,请上传您的包以测试 PyPI 并检查它是否正确安装,使用测试 PyPI 作为 extra 索引 url,而不是作为替代 --index-url:

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

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

    【讨论】:

    • 我想我在想 test.pypi 的目的是确保包在真正的包上之前可以正常工作。这是一种误导性的理解,还是我不应该太担心将它放在 pypi 上,然后在解决这部分时不得不不断更新它?
    • 你的理解是正确的——你应该首先让你的包在测试 PyPI 上正常工作。不要使用 main PyPI 进行试验,因为无法在 main 上就地删除和更新版本。您原始问题中的错误(找不到numba)表明您在从测试下载时没有同时查看主要内容。
    猜你喜欢
    • 1970-01-01
    • 2014-03-21
    • 2013-01-02
    • 1970-01-01
    • 2012-07-13
    • 2013-08-04
    • 2016-05-06
    • 1970-01-01
    相关资源
    最近更新 更多