2016-11-15 61 views
4

我想上传一个pypi软件包,首先我发现setup_tools真的很旧,所以现在更新了,虽然我仍然得到相同的错误,而谷歌在这方面并没有真正帮助我学科。上传PyPi软件包错误

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 <module> 
    'python-dateutil', 
    File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands 
    self.run_command(cmd) 
    File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command 
    cmd_obj.run() 
    File "/usr/lib64/python2.7/distutils/command/upload.py", line 60, in run 
    self.upload_file(command, pyversion, filename) 
    File "/usr/lib64/python2.7/distutils/command/upload.py", line 70, in upload_file 
    raise AssertionError("unsupported schema " + schema) 
AssertionError: unsupported schema 

如果我尝试运行注册它工作得很好:

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', 
    ], 
) 

UPDATE: 试图改变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", line 20, in <module> 
    'python-dateutil', 
    File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands 
    self.run_command(cmd) 
    File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command 
    cmd_obj.run() 
    File "/usr/lib64/python2.7/distutils/command/upload.py", line 60, in run 
    self.upload_file(command, pyversion, filename) 
    File "/usr/lib64/python2.7/distutils/command/upload.py", line 70, 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) 

回答

3

不支持的架构指库URL的URL scheme;它必须是httphttps之一。发生

的错误,因为-r需要一个URL到存储库,或者是在.pypirc指定一个确切的名称:

% python setup.py upload --help 
... 
Options for 'upload' command: 
    --repository (-r) url of repository [default: 
        https://upload.pypi.org/legacy/] 

.pypirc指定test但你想pypitest


一些选项没有被distutils.core.setup(如由UserWarning: Unknown distribution option: ...证明)认可;因此,你应该使用setuptools.setup代替:

from setuptools import setup 
setup(
    ... 
) 

(并确保setuptools是最新更新)。

+0

我已经添加了更多的信息,并在更改后输出。注册仍然有效..只有上传也要求输入密码。 – Marius

+0

正确的答案,第一个问题是旧的setuptools,另一个是回购的名称是错的 – Marius

+0

谢谢 - 这只是保存了我的培根(和理智!) –

0

我得到了同样的错误。然后,我意识到错误应该打印模式。但我的错误是这样

... 
    raise AssertionError("unsupported schema " + schema) 
AssertionError: unsupported schema 

注意schema是一个空字符串。所以,在我看来,该架构尚未找到。我尝试了很多东西,但只是改变了.pypirc文件的权限。我刚刚做了

$ sudo chmod 777 ~/.pypirc