簡體   English   中英

PyPI上傳停止工作,並且pip安裝失敗

[英]PyPI upload stopped working and pip install fails

我昨晚提交了我的第一個PyPI項目,但一切都沒有按預期進行(警告過長的帖子)...

我最初是通過命令行通過以下方式上傳項目cvrfparse的

% python setup.py sdist upload

這樣就創建了初始項目。 但是嘗試通過pip安裝項目,因此失敗了:

% sudo pip install cvrfparse
Password:
Downloading/unpacking cvrfparse
  Running setup.py egg_info for package cvrfparse
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/private/tmp/pip-build-root/cvrfparse/setup.py", line 3, in <module>
        from distribute_setup import use_setuptools
    ImportError: No module named distribute_setup
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/private/tmp/pip-build-root/cvrfparse/setup.py", line 3, in <module>

    from distribute_setup import use_setuptools

ImportError: No module named distribute_setup

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /private/tmp/pip-build-root/cvrfparse
Storing complete log in /Users/m/Library/Logs/pip.log

根據http://pythonhosted.org/distribute/setuptools.html#using-setuptools-without-bundling- ,如果我有以下內容,它應該只是“起作用”:

from distribute_setup import use_setuptools
use_setuptools()

在setup.py中的加載卡之后。 然后,我嘗試按照以下方式將Distribution_setup.py添加到MANIFEST.in中:

% cat MANIFEST.in 
include distribute_setup.py

因此,在添加了該文件並在setup.py中修改了版本號之后,我然后嘗試將新軟件包上傳到PyPI:

% python setup.py sdist upload
running sdist
running egg_info
writing requirements to cvrfparse.egg-info/requires.txt
writing cvrfparse.egg-info/PKG-INFO
writing top-level names to cvrfparse.egg-info/top_level.txt
writing dependency_links to cvrfparse.egg-info/dependency_links.txt
writing entry points to cvrfparse.egg-info/entry_points.txt
reading manifest file 'cvrfparse.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'cvrfparse.egg-info/SOURCES.txt'
running check
creating cvrfparse-0.10
creating cvrfparse-0.10/cvrfparse
creating cvrfparse-0.10/cvrfparse.egg-info
creating cvrfparse-0.10/cvrfparse/sample-xml
creating cvrfparse-0.10/cvrfparse/schemata
creating cvrfparse-0.10/cvrfparse/schemata/common
creating cvrfparse-0.10/cvrfparse/schemata/common/1.1
creating cvrfparse-0.10/cvrfparse/schemata/cvrf
creating cvrfparse-0.10/cvrfparse/schemata/cvrf/1.1
creating cvrfparse-0.10/cvrfparse/schemata/dublincore
creating cvrfparse-0.10/cvrfparse/schemata/prod
creating cvrfparse-0.10/cvrfparse/schemata/prod/1.1
creating cvrfparse-0.10/cvrfparse/schemata/scap
creating cvrfparse-0.10/cvrfparse/schemata/vuln
creating cvrfparse-0.10/cvrfparse/schemata/vuln/1.1
creating cvrfparse-0.10/cvrfparse/schemata/w3.org
making hard links in cvrfparse-0.10...
hard linking MANIFEST.in -> cvrfparse-0.10
hard linking README -> cvrfparse-0.10
hard linking distribute_setup.py -> cvrfparse-0.10
hard linking setup.py -> cvrfparse-0.10
hard linking cvrfparse/__init__.py -> cvrfparse-0.10/cvrfparse
hard linking cvrfparse/cvrfparse.py -> cvrfparse-0.10/cvrfparse
hard linking cvrfparse.egg-info/PKG-INFO -> cvrfparse-0.10/cvrfparse.egg-info
hard linking cvrfparse.egg-info/SOURCES.txt -> cvrfparse-0.10/cvrfparse.egg-info
hard linking cvrfparse.egg-info/dependency_links.txt -> cvrfparse-0.10/cvrfparse.egg-info
hard linking cvrfparse.egg-info/entry_points.txt -> cvrfparse-0.10/cvrfparse.egg-info
hard linking cvrfparse.egg-info/requires.txt -> cvrfparse-0.10/cvrfparse.egg-info
hard linking cvrfparse.egg-info/top_level.txt -> cvrfparse-0.10/cvrfparse.egg-info
hard linking cvrfparse/sample-xml/CVRF-1.1-cisco-sa-20110525-rvs4000.xml -> cvrfparse-0.10/cvrfparse/sample-xml
hard linking cvrfparse/schemata/catalog.xml -> cvrfparse-0.10/cvrfparse/schemata
hard linking cvrfparse/schemata/common/1.1/common.xsd -> cvrfparse-0.10/cvrfparse/schemata/common/1.1
hard linking cvrfparse/schemata/cvrf/1.1/cvrf.xsd -> cvrfparse-0.10/cvrfparse/schemata/cvrf/1.1
hard linking cvrfparse/schemata/dublincore/dc.xsd -> cvrfparse-0.10/cvrfparse/schemata/dublincore
hard linking cvrfparse/schemata/prod/1.1/prod.xsd -> cvrfparse-0.10/cvrfparse/schemata/prod/1.1
hard linking cvrfparse/schemata/scap/cpe-language_2.2a.xsd -> cvrfparse-0.10/cvrfparse/schemata/scap
hard linking cvrfparse/schemata/scap/cvss-v2_0.9.xsd -> cvrfparse-0.10/cvrfparse/schemata/scap
hard linking cvrfparse/schemata/scap/scap-core_0.9.xsd -> cvrfparse-0.10/cvrfparse/schemata/scap
hard linking cvrfparse/schemata/vuln/1.1/vuln.xsd -> cvrfparse-0.10/cvrfparse/schemata/vuln/1.1
hard linking cvrfparse/schemata/w3.org/xml.xsd -> cvrfparse-0.10/cvrfparse/schemata/w3.org
Writing cvrfparse-0.10/setup.cfg
Creating tar archive
removing 'cvrfparse-0.10' (and everything under it)
running upload
Traceback (most recent call last):
  File "setup.py", line 21, in <module>
    ['cvrfparse = cvrfparse.cvrfparse:main',]}
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/upload.py", line 60, in run
    self.upload_file(command, pyversion, filename)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/upload.py", line 135, in upload_file
    self.password)
TypeError: cannot concatenate 'str' and 'NoneType' objects

看起來好像是以前None東西None了嗎?

然后,我嘗試通過以下方式創建分發來手動上傳軟件包:

% python setup.py sdist

然后通過網絡界面將該文件上傳到PyPI。 pip install仍然報告與此新的.10軟件包相同的問題。 我要去哪里錯了?

PyPI似乎擁有您的軟件包並可以很好地加載它(對我而言,在干凈的virtualenv中的Ubuntu 12.04.2上)。 您的工具使用console_scripts,而main工具則需要一個參數(progname),而load_enry_point()(setuptools)不會發送該參數。 只需為該參數分配一個默認值即可。 例如:

def main(progname=sys.argv[0]):

而且你應該是黃金的。 不要忘記更新您的版本號並重新推送到PyPI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM