2017-08-11 38 views
0

我一直在想我的包上傳到PyPI將採取下列步驟操作:ValueError異常:沒有PKG-INFO存檔

  1. PyPI上註冊
  2. 在我的主目錄創建一個隱藏的文件.pypirc( 〜/)含有:

    [distutils的] 索引的服務器= PyPI中

    [PyPI中] 庫= https://pypi.python.org/pypi 用戶名= my_username 密碼= MY_PASSWORD

  3. 創建我的包含有該內部LICENSE.TXT,requirements.txt和setup.cfg:

    [元數據]

    描述文件=自述。 MD

  4. 創建setup.py我的包裏面包含此:

    從setuptools的導入設置 設置( 名= 'PACKAGE_NAME', 包= [ 'PACKAGE_NAME'], 版本= '1.0', 描述= '說明, 作者= 'ShellRox', AUTHOR_EMAIL =' 電子郵件 ' URL =' Github上的網址」, DOWNLOAD_URL = 'Github上下載網址', 關鍵字= [ '認證', '蒸', '簡單'], 分類= [], )

  5. 轉換我的包目錄tar.gz文件:

tar -czvf Package_name.tar.gz Package_name

  • 最後,執行這個命令:
  • twine upload package_name.tar.gz

    從中,我收到此錯誤:

    ValueError: No PKG-INFO in archive: PATH_HERE


    我知道類似的問題已經被問過,但你看,我已經練解決的問題的唯一答案公關ovided,但它似乎沒有工作。

    應該怎麼把PKG-INFO在我的檔案?會有什麼問題嗎?非常感謝

    回答

    3

    要創建你需要(而不是tar)源代碼分發:

    python setup.py sdist 
    

    上傳之前驗證它 - 你可能需要調整MANIFESTMANIFEST.in包括一切。

    要創建二進制packaages:

    python setup.py bdist_egg 
    

    和/或

    python setup.py bdist_wheel 
    

    然後twine upload dist/*

    閱讀docsPython Packaging User Guide

    +0

    對不起,遲到的答覆和謝謝,它幾乎完美的工作,直到它給'HTTPError:410客戶端錯誤:去了'錯誤。但目前的問題已解決,我想單獨的問題已被顯示。再次感謝你。 – ShellRox

    +1

    https://stackoverflow.com/a/45209514/7976758 – phd

    +0

    謝謝,軟件包已上傳。 – ShellRox