我试图上传一个pypi包,首先我发现setup_tools真的很旧,所以现在更新了,虽然我仍然得到相同的错误,谷歌并没有真正帮助我这个主题.
python setup.py sdist upload -r pypitest
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'include_package_data'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
warning: sdist: standard file not found: should have one of README,README.txt
writing manifest file 'MANIFEST'
creating arcsightrest-1.0
making hard links in arcsightrest-1.0...
hard linking arcsightrest.py -> arcsightrest-1.0
hard linking setup.cfg -> arcsightrest-1.0
hard linking setup.py -> arcsightrest-1.0
Creating tar archive
removing 'arcsightrest-1.0' (and everything under it)
running upload
Traceback (most recent call last):
File "setup.py",line 20,in
如果我尝试运行注册它的工作正常:
python setup.py register -r test
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'include_package_data'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running register
running check
Registering arcsightrest to https://testpypi.python.org/pypi
Server response (200): OK
以前有人有这个问题吗?
.pypirc文件也可用,并且可以正常使用寄存器.
[distutils]
index-servers =
pypi
test
[pypi]
repository: https://pypi.python.org/pypi
username: ****
password: ****
[test]
repository: https://testpypi.python.org/pypi
username: ****
password: ****
Setup.py文件(使用答案中提到的导入更新):
from setuptools import setup
setup(
name='arcsightrest',version='1.0',description='Python library to connect to the HP Arcsight Logger REST API',author='***',license='MIT',author_email='***',url='****',download_url='****',keywords=['arcsight','logger','rest'],include_package_data=True,zip_safe=True,py_modules=['arcsightrest'],install_requires=[
'pytz','untangle','requests','python-dateutil',],)
更新:
试图更改setup.py使我更接近,由于某种原因它现在要求我的密码,但最终结果仍然是相同的错误:
python setup.py sdist upload -r pypitest
running sdist
running egg_info
writing requirements to arcsightrest.egg-info/requires.txt
writing arcsightrest.egg-info/PKG-INFO
writing top-level names to arcsightrest.egg-info/top_level.txt
writing dependency_links to arcsightrest.egg-info/dependency_links.txt
reading manifest file 'arcsightrest.egg-info/SOURCES.txt'
writing manifest file 'arcsightrest.egg-info/SOURCES.txt'
warning: sdist: standard file not found: should have one of README,README.rst,README.txt
running check
creating arcsightrest-1.0
creating arcsightrest-1.0/arcsightrest.egg-info
copying files to arcsightrest-1.0...
copying arcsightrest.py -> arcsightrest-1.0
copying setup.cfg -> arcsightrest-1.0
copying setup.py -> arcsightrest-1.0
copying arcsightrest.egg-info/PKG-INFO -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/SOURCES.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/dependency_links.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/requires.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/top_level.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/zip-safe -> arcsightrest-1.0/arcsightrest.egg-info
Writing arcsightrest-1.0/setup.cfg
Creating tar archive
removing 'arcsightrest-1.0' (and everything under it)
running upload
Password:
Traceback (most recent call last):
File "setup.py",in upload_file
raise AssertionError("unsupported schema " + schema)
AssertionError: unsupported schema
Setuptools版本:
setuptools 28.8.0 from /usr/lib/python2.7/site-packages (Python 2.7)
最佳答案
Unsupported模式引用存储库URL的URL scheme;它必须是http或https之一.
发生此错误的原因是-r获取存储库的URL或.pypirc中指定的确切名称:
% python setup.py upload --help
...
Options for 'upload' command:
--repository (-r) url of repository [default:
https://upload.pypi.org/legacy/]
你的.pypirc指定测试但你正在尝试pypitest.
distutils.core.setup无法识别其中一些选项(由UserWarning:未知分发选项证明:…);因此你应该使用setuptools.setup:
from setuptools import setup
setup(
...
)
(并确保setuptools是最新的).