从pypi安装Pip可以工作,但从testpypi安装失败(找不到需求)



我正在尝试创建我的第一个python包。为了不搞砸整个交易,我一直在尝试将其上传到testpypi服务器。这似乎很好(sdist创建并上传没有显示任何错误)。但是,当我尝试从https://testpypi.python.org/pypi,它抱怨我的安装要求,例如:

pip install -i https://testpypi.python.org/pypi poirot
Collecting poirot
  Downloading https://testpypi.python.org/packages/source/p/poirot/poirot-0.0.15.tar.gz
Collecting tqdm==3.4.0 (from poirot)
  Could not find a version that satisfies the requirement tqdm==3.4.0 (from poirot) (from versions: )
No matching distribution found for tqdm==3.4.0 (from poirot) 

tqdm和Jinja2是我唯一的要求。我试着指定版本,而不是指定——错误各有不同。

它似乎试图在testpypi服务器上找到tqdm和Jinja2,但没有找到它们(因为它们只在常规pypi中可用)。将包上载到非测试服务器并运行pip-install工作正常。

上传到testpypi时,我需要向setup.py文件(如下)添加什么才能让它找到需求?

谢谢!

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup
setup(name='poirot',
      version='0.0.15',
      description="Search a git repository's revision history for text patterns.",
      url='https://github.com/dcgov/poirot',
      license='https://raw.githubusercontent.com/DCgov/poirot/master/LICENSE.md',
      packages=['poirot'],
      install_requires=['tqdm==3.4.0', 'Jinja2==2.8'],
      test_suite='nose.collector',
      tests_require=['nose-progressive'],
      classifiers=[
        'Environment :: Console',
        'Intended Audience :: Developers',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5'
      ],
      include_package_data=True,
      scripts=['bin/big-grey-cells', 'bin/little-grey-cells'],
      zip_safe=False)

更新

PyPI已升级其网站。根据文件,新的建议是:

python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple poirot

  • --index-url指向TestPyPI上的包
  • --extra-index-url指出了对PyPI的依赖关系
  • poirot是您的包裹

注意:尽管官方文档有此建议,但在某些情况下,使用--extra-index-url可能是不安全的,尤其是在私人服务器上。另请参阅A.Sottile的视频,该视频展示了选项排序以及将公共和私有PyPI服务器混合使用的风险。谨慎使用并评估自己的风险


过时

尝试pip install --extra-index-url https://testpypi.python.org/pypi poirot

另请参阅参考帖。

在2021年1月尝试时,接受的答案中的更新对我不起作用。这起了作用:

pip install -i https://test.pypi.org/pypi/ --extra-index-url https://pypi.org/simple <your_package_in_testpypi>

注意,第一个URL是test.pypi.org/pypi,第二个是pypi.org/simple

他们的官方页面应该更新,其说明显示:

pip install -i https://test.pypi.org/simple/ <your_package_in_testpypi>

这不起作用。

最新更新