【问题标题】:Twine can not upload to pypi.orgTwine 无法上传到 pypi.org
【发布时间】:2018-01-27 15:04:04
【问题描述】:

我在 python.pypi.org 上有一个 python 包 (xyz)。我正在尝试发布一个新版本,我正在使用 twine 进行上传。我按照教程中的说明修复了 ~/.pypirc 文件中的所有内容。当我运行以下命令时:

twine upload dist/*

我得到以下输出:

将分发上传到https://upload.pypi.org/legacy/

正在上传 xyz-1.9.1.tar.gz

HTTPError:400 客户端错误:提供:无效要求:'xyz (1.9.1)' 网址:https://upload.pypi.org/legacy/

我不确定为什么会这样,但我猜它可能是我的 setup.py 文件,但这是我的 setup() 部分中的块。

setup(
name='xyz',
version=__version__,
author='xyz',
author_email='xyz',
description='xyz package for xyz',
long_description=long_description,
url='xyz',
packages=PACKAGES,
package_dir=PACKAGE_DIR,
package_data=PACKAGE_DATA,
ext_modules=EXTENSIONS,
license='MIT License',
keywords=('xyz'),
classifiers=[
             'Development Status :: 5 - Production/Stable',
             'Intended Audience :: Education',
             'Intended Audience :: Science/Research',
             'License :: OSI Approved :: MIT License',
             'Operating System :: MacOS',
             'Operating System :: Microsoft :: Windows',
             'Operating System :: POSIX',
             'Programming Language :: Python',
             'Programming Language :: Python :: 2',
             'Programming Language :: Python :: 3',
             'Topic :: Scientific/Engineering :: xyz',
             'Topic :: Scientific/Engineering :: xyz',
            ],
scripts=SCRIPTS,
requires=['NumPy (>=1.7)', ],
provides=['xyz'.format(__version__)]

)

有人可以帮我解决这个问题吗?谢谢。

注意:“xyz”是包的替换名称。不会有重复的包裹。

【问题讨论】:

    标签: python pypi twine


    【解决方案1】:

    (我假设您的setup.py 中的provides=['xyz'.format(__version__)] 行实际上是provides=['xyz ({})'.format(__version__)],否则这没有任何意义。)

    首先,setup()providesrequires 参数已被弃用,据我所知,它们实际上从未用于任何用途。 requires 现在应该拼写为 install_requiresprovides 没有替代品,因为试图赋予该字段任何正式含义会导致问题超过此类字段可能带来的微不足道的好处。但是,如果您坚持使用provides,PyPI 似乎出于某种原因要求该字段的值是有效的要求字符串,而"xyz (1.9.1)" 不是;一个有效的要求看起来像“xyz == 1.9.1”或"xyz (== 1.9.1)",但是,如前所述,这些都没有任何实际意义。

    PS:我建议您阅读Python Packaging User Guide 中的"Packaging and Distributing Projects",了解现代、推荐的 Python 打包实践。

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 1970-01-01
      • 2020-04-14
      • 1970-01-01
      • 2018-10-30
      • 2018-05-15
      • 2017-12-11
      • 2020-09-22
      • 1970-01-01
      相关资源
      最近更新 更多