[英]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+
pip install twine
python setup.py sdist
。twine upload --repository pypitest dist/*
进行测试上传。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.