我正在尝试将我的包上传到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
,我运行此命令:python setup.py sdist upload -r pypitest
,输入pypitest密码后输入错误
以下是我的setup.py
和.pypirc
文件的外观。
setup.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
我将pypi的存储库URL更改为https://upload.pypi.org/legacy/
,pypitest更改了https://test.pypi.org/legacy/
。还更新了最新版本的设置工具(36.3.0)。什么都没有改变。
答案 0 :(得分:7)
在主目录.pypirc
中添加C:\Users\<username>
文件,除了项目的根目录外,对我有用。
答案 1 :(得分:5)
您需要做的是使用麻线。确保版本为1.8 +
pip install twine
python setup.py sdist
。twine upload --repository pypitest dist/*
进行测试上传。twine upload --repository pypi dist/*
进行制作上传。答案 2 :(得分:1)
出现相同的问题,并通过指定.pypirc文件的位置来解决。默认情况下,它应在〜。/中使用,但是您可能希望将其存储在项目中。
此问题对我有帮助: Custom location for .pypirc file
答案 3 :(得分:0)
我之前也遇到过一些麻烦,虽然我不记得你所描述的问题是否完全相同。旧的URL应该重定向到新的,但PyPi已经移动,所以有可能这些不会一直有效。
尝试使用pypi服务器:
https://upload.pypi.org/legacy/
这个用于pypitest:
https://test.pypi.org/legacy/