Featured image of post 构建一个最简单的Python包

构建一个最简单的Python包

要创建一个最简单的 Python 包来演示包的作用,你只需创建一个包含必要文件和目录结构的项目。这个示例包不会有实际的功能,但它会展示如何构建和打包一个 Python 项目。

目录结构

1
2
3
4
5
6
7
my_simple_package/
├── my_simple_package/
│   ├── __init__.py
│   └── simple_module.py
├── README.md
├── setup.py
└── pyproject.toml

详细步骤

  1. 创建包目录

    首先创建一个名为 my_simple_package 的目录,这是你的项目根目录。

  2. 创建包的子目录

    在项目根目录下,再创建一个同名的子目录 my_simple_package,这是实际的包目录。

  3. 创建 __init__.py 文件

    my_simple_package 目录下创建一个空的 __init__.py 文件,这个文件告诉 Python 这个目录是一个包。

1
# my_simple_package/__init__.py
  1. 创建一个简单的模块

    my_simple_package 目录下创建一个名为 simple_module.py 的文件,并在其中添加一些简单的代码。

1
2
3
4
# my_simple_package/simple_module.py

def hello():
    return "Hello, World!"
  1. 创建 README 文件

    在项目根目录下创建一个 README.md 文件,为包提供一些基本的描述。

1
2
3
# My Simple Package

This is a simple package to demonstrate how to create a Python package.
  1. 创建 setup.py 文件

    在项目根目录下创建一个 setup.py 文件,用于设置包的元数据和安装信息。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# setup.py
from setuptools import setup, find_packages

setup(
    name="my_simple_package",
    version="0.1.0",
    packages=find_packages(),
    install_requires=[],  # List your package dependencies here
    author="Your Name",
    author_email="your.email@example.com",
    description="A simple package to demonstrate packaging in Python",
    long_description=open('README.md').read(),
    long_description_content_type="text/markdown",
    url="http://example.com/my_simple_package",
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',
)
  1. 创建 pyproject.toml 文件

    在项目根目录下创建一个 pyproject.toml 文件,指定构建系统的要求。

1
2
3
4
# pyproject.toml
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

构建和安装

  1. 构建包

    在项目根目录下运行以下命令,生成源代码分发包和二进制分发包:

1
python setup.py sdist bdist_wheel

这将会在 dist 目录下生成 .tar.gz.whl 文件。

  1. 安装包

    你可以使用 pip 安装生成的包文件:

1
pip install dist/my_simple_package-0.1.0-py3-none-any.whl

那么安装了之后的包去了哪里呢?参考pip安装的包去了哪里

测试包

你可以在 Python 环境中测试你的包是否正常工作:

1
2
3
4
import my_simple_package.simple_module as sm

print(sm.hello())
# Output: Hello, World!

总结

这个简单的 Python 包演示了包的基本结构和构建过程。通过这个示例,你可以了解如何创建、打包和分发一个 Python 包。尽管这个包没有实际的功能,但它展示了所有必要的步骤和文件。

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy