【问题标题】:Publishing modules to pip and PyPi将模块发布到 pip 和 PyPi
【发布时间】:2019-10-01 10:41:55
【问题描述】:

我使用 python 创建了一个模块。我想将它发布到 pip 和 PyPi 以便其他人可以轻松下载和使用它。我该怎么做?

【问题讨论】:

  • 先写setup.py,然后运行python setup.py sdist,然后上传dist/your_module.tar.gz到远程服务器。
  • 这无法在单个答案或评论中解释。试试这篇文章。 realpython.com/pypi-publish-python-package

标签: python pip pypi


【解决方案1】:

答案很容易在互联网上找到。我刚刚引用this site 来回答你。您可以按照以下步骤操作:

  1. PyPi 上创建一个帐户。

  2. 创建一个README.md 文件作为用户说明(强烈推荐)。

  3. 创建setup.cfg文件,写入如下内容:

[metadata]
description-file = README.md
  1. 通过引用 this website 创建一个 LICENSE 文件。

  2. 正如@Yang HG 提到的,写一个setup.py 文件,然后运行python setup.py sdist

  3. 使用twine 上传您的发行版。首先,您需要pip install twine,然后运行twine upload dist/*

最后,您的发行版可以在https://pypi.org/project/YOURPACKAGENAME/上查看

【讨论】:

    【解决方案2】:

    这在Packaging Python Projects 中有详细记录。

    创建 README.md

    创建一个名为 README.md 的文件并根据需要对其进行编辑(在 Markdown 中)。

    创建setup.py

    setup.pysetuptools 的构建脚本。它告诉setuptools 你的包(例如名称和版本)以及要包含的代码文件。

    import setuptools
    
    with open("README.md", "r") as fh:
        long_description = fh.read()
    
    setuptools.setup(
        name="example-pkg-your-username",
        version="0.0.1",
        author="YOUR NAME",
        author_email="YOUR EMAIL",
        description="A small example package",
        long_description=long_description,
        long_description_content_type="text/markdown",
        url="https://github.com/pypa/sampleproject",
        packages=setuptools.find_packages(),
        classifiers=[
            "Programming Language :: Python :: 3",
            "License :: OSI Approved :: MIT License",
            "Operating System :: OS Independent",
        ],
    )
    

    创建许可证

    创建一个名为LICENSE 的文件并从here 中选择您的内容。

    生成分发档案

    下一步是为包生成分发包。这些是上传到包索引的档案,可以通过 pip 安装。 我们首先需要确保安装了wheelsetuptools

    python3 -m pip install --user --upgrade setuptools wheel
    

    现在我们需要从setup.py所在的同一目录运行以下命令:

    python3 setup.py sdist bdist_wheel
    

    上传分发档案

    建议在实际 PyPi 之前上传到TestPyPi - 虽然我不会介绍这部分。 以下步骤展示了如何将包上传到 PyPi:

    1. 安装twine:
    python3 -m pip install --user --upgrade twine
    
    1. 注册PyPi
    2. 运行twinedist 包上传到PyPi:
    python3 -m twine upload dist/*
    

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 2015-05-27
      • 1970-01-01
      • 2014-11-27
      • 2016-01-30
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多