2017-08-11 82 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