从 pypi 安装 Pip 有效,但从 testpypi 安装失败(找不到要求)

2024-12-12 08:40:00
admin
原创
172
摘要:问题描述:我正在尝试创建我的第一个 python 包。为了不搞砸整个事情,我一直试图将其上传到 testpypi 服务器。这似乎很顺利(sdist 创建并且上传没有显示任何错误)。但是,当我尝试从https://testpypi.python.org/pypi将其安装到新的虚拟环境中时,它会抱怨我的安装要求,...

问题描述:

我正在尝试创建我的第一个 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 成功。

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

谢谢!

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)

解决方案 1:

更新

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

另请参阅参考帖子。

解决方案 2:

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,第二个 URL 是pypi.org/simple

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

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

这是行不通的。

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   3983  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   2747  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Freshdesk、ClickUp、nTask、Hubstaff、Plutio、Productive、Targa、Bonsai、Wrike。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在项目管理过程中面临着诸多痛点,如任务分配不...
项目管理系统   82  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Monday、TeamGantt、Filestage、Chanty、Visor、Smartsheet、Productive、Quire、Planview。在当今快速变化的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多项目经理和团队在管理复杂项目时,常...
开源项目管理工具   90  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、Smartsheet、GanttPRO、Backlog、Visor、ResourceGuru、Productive、Xebrio、Hive、Quire。在当今快节奏的商业环境中,项目管理已成为企业成功的关键因素之一。然而,许多企业在选择项目管理工具时常常面临困惑:...
项目管理系统   79  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用