[英]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.