📜  创建 python 包 - Python (1)

📅  最后修改于: 2023-12-03 15:36:52.616000             🧑  作者: Mango

创建 Python 包

Python 是一门灵活且功能强大的编程语言。它支持模块化编程,并且能够通过包管理器发布和共享包。本文将向您介绍如何创建 Python 包以及如何使用 Python 包管理器。

创建 Python 包
  1. 创建项目文件夹

您需要创建一个文件夹来存放项目文件。您可以按照以下结构创建您的文件夹:

project_name/
    README.md
    setup.py
    project_name/
        __init__.py
        module1.py
        module2.py

其中,setup.py 是一个包含有关您的项目的元数据的文件。

  1. 编写代码

project_name 文件夹中,您可以创建您的代码文件。在本示例中,我们创建了两个文件 module1.pymodule2.py,它们包含您要共享的函数和类等内容。

# module1.py
def function1():
    print("Hello, function1 from module1!")

# module2.py
class Class1:
    def __init__(self):
        self.message = "Hello, Class1"

    def print_message(self):
        print(self.message)
  1. 创建 __init__.py 文件

project_name 文件夹中,您需要创建一个名为 __init__.py 的文件。该文件将告诉 Python 该文件夹是一个包。

# __init__.py
from .module1 import *
from .module2 import *
  1. 编写 setup.py 文件

下面是一个可能的 setup.py 文件的示例,表示您要安装的包的元数据。

from setuptools import setup, find_packages

setup(
    name='project_name',
    version='0.1',
    packages=find_packages(),
)

注意,您需要在 setup.py 文件中初始化一个 setuptools 实例,该实例将使用 find_packages() 功能查找您要包含在包中的所有模块和包。

发布 Python 包

现在,您已经准备好将您的 Python 包发布到 PyPI(Python 包索引)或其他您选择的包共享平台上。

  1. 注册一个账户

在 PyPI 上注册一个账户。要注册账户,请访问 https://pypi.org/account/register/

  1. 创建包

使用 setuptools 发布包。首先,您需要在 setup.py 文件中添加以下元数据:

setup(
    name='project_name',
    version='0.1',
    packages=find_packages(),
    author='Your Name',
    author_email='your_email@example.com',
    description='A description of your package',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    url='https://github.com/your-username/project_name',
    classifiers=[
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
    ],
    python_requires='>=3.6',
    install_requires=[],
)
  1. 打包发布

打包您的代码:

python setup.py sdist bdist_wheel

这将生成一个名为 dist 的目录,其中包含一个 .tar.gz 和一个 .whl 文件。

  1. 上传到 PyPI

您可以使用 twine 工具上传您的包到 PyPI:

pip install twine
twine upload dist/*

如果第一次上传包,您需要使用以下命令:

twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
  1. 分享您的包!

现在,您的 Python 包已经发布到 PyPI 上,其他 Python 程序员可以使用以下代码安装您的包:

pip install project_name
结论

恭喜您,您已经创建并发布了您的 Python 包!现在,其他 Python 程序员可以使用您的包,使其在他们自己的项目中更加灵活、高效。感谢您使用 Python!