繁体   English   中英

PyPi 断言错误:不支持的架构

[英]PyPi AssertionError: unsupported schema

我正在尝试将我的 package 上传到 PyPi 并出现此错误:

  Traceback (most recent call last):
  File "setup.py", line 11, in <module>
    author_email= #my email,
  File "C:\Programming\Python\Anaconda\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Programming\Python\Anaconda\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Programming\Python\Anaconda\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Programming\Python\Anaconda\lib\distutils\command\upload.py", line 63, in run
    self.upload_file(command, pyversion, filename)
  File "C:\Programming\Python\Anaconda\lib\distutils\command\upload.py", line 73, in upload_file
    raise AssertionError("unsupported schema " + schema)

由于不再需要python setup.py register -r pypitest来上传package,我运行这个命令: python setup.py sdist upload -r pypitest ,输入pypitest的密码后出现错误

这是我的setup.py.pypirc文件的样子。

安装程序.py

from setuptools import setup

setup(
      name='instapi',
      packages=['instapi'],
      version='0.1',
      description='Clean and simple Instagram API for Python 3.x',
      url='https://github.com/SemptraStar/instapi',
      download_url = 'https://github.com/SemptraStar/instapi/archive/v._0.1.tar.gz',
      author= #me,
      author_email= #also me,
)

.pypirc

[distutils]
index-servers =
  pypi
  pypitest

[pypi]
repository=https://pypi.python.org/pypi
username= # username
password= # password

[pypitest]
repository=https://testpypi.python.org/pypi
username= # username
password= # password

更新 1

我将存储库 URL 更改为https://upload.pypi.org/legacy/ ://upload.pypi.org/legacy/ 用于 pypi 和https://test.pypi.org/legacy/用于 pypitest。 还更新了最新版本 (36.3.0) 的设置工具。 没有改变。

在主目录C:\\Users\\<username>添加.pypirc文件,除了从项目的根目录,对我.pypirc

你需要做的是使用麻线。 确保版本是 1.8+

  1. 通过pip install twine
  2. 确保您的 .pypirc 文件具有 test.pypi.org 的正确凭据,因为它是与生产 pypi 不同的数据库。
  3. 构建您的 sdist python setup.py sdist
  4. 使用twine upload --repository pypitest dist/*进行测试上传。
  5. 使用twine upload --repository pypi dist/*进行生产上传。

有同样的问题并通过指定 .pypirc 文件所在的位置来解决它。 默认情况下,它应该在 ~./ 中,但您可能希望将其存储在您的项目中。

这个问题在这里帮助了我: Custom location for .pypirc file

我之前也遇到过一些问题,但我不记得这是否与您所描述的问题完全相同。 旧的 URL 应该重定向到新的,但 PyPi 已经移动,所以这些可能并不总是有效。

试试这个 pypi 服务器:

https://upload.pypi.org/legacy/

这是 pypitest 的:

https://test.pypi.org/legacy/

setuptools的官方文档

将您的 package 上传到 PyPI

生成分发文件后,下一步就是上传您的分发文件,以便其他人可以使用它。 此功能由 twine 提供,并记录在 Python 打包教程中。

所以我想尝试调试 setuptools 上传问题没有意义。 使用 setuptools 构建并使用 twine 上传。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM