将模块发布到 pip 和 PyPi

Publishing modules to pip and PyPi

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

这在 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. 运行 twine 上传 dist 包到 PyPi:
python3 -m twine upload dist/*

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

  1. PyPi 上创建一个帐户。

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

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

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

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

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

最后,您的分布可以在 https://pypi.org/project/YOURPACKAGENAME/

上查看