python setuptools打包

下面是一个简单的 setuptools 打包的示例,展示如何创建一个 Python 包并使用 setuptools 进行打包。

  1. 项目结构

首先,假设你的项目目录结构如下所示:

my_package/
│
├── my_package/
│   ├── __init__.py
│   └── my_module.py
│
└── setup.py
•	my_package/ 是你的包的目录。
•	my_module.py 是你要打包的模块。
•	setup.py 是用于打包的配置文件。
  1. my_module.py 示例代码

在 my_module.py 文件中写一些简单的功能,例如:

# my_package/my_module.py

def greet(name):
    return f"Hello, {name}!"
  1. setup.py 文件

创建 setup.py 文件,这是打包的配置文件,内容如下:

# setup.py

from setuptools import setup, find_packages

setup(
    name="my_package",  # 包名
    version="0.1",  # 版本号
    author="Your Name",  # 作者
    author_email="your.email@example.com",  # 作者邮箱
    description="A simple demo package",  # 简短描述
    long_description=open("README.md").read(),  # 读取长描述文件
    long_description_content_type="text/markdown",  # 长描述文件格式
    url="https://github.com/yourusername/my_package",  # 项目URL (GitHub 等)
    packages=find_packages(),  # 自动找到所有的包
    classifiers=[  # 分类信息
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',  # 兼容的 Python 版本
)
•	find_packages() 自动查找包含 __init__.py 的所有目录,标记为包。
•	long_description 是包的详细描述,通常来自 README.md 文件。
•	python_requires 指定支持的 Python 版本。
•	classifiers 是一些用于标识包的元数据,比如编程语言和许可证类型。
  1. README.md 文件(可选)

创建一个 README.md 文件,用来作为包的长描述:

# My Package

This is a simple demo package for Python packaging using setuptools.
  1. 打包和安装

进入 my_package 目录并运行以下命令来打包和安装你的包。

打包:

python setup.py sdist

这会生成一个 dist/ 目录,里面会有一个 .tar.gz 文件,这就是打包好的源码分发文件。

安装:

你可以通过 pip 安装打包好的包:

pip install .

或通过生成的分发文件安装:

pip install dist/my_package-0.1.tar.gz
  1. 使用打包好的模块

你可以在安装后通过以下方式使用打包好的模块:

from my_package.my_module import greet

print(greet("World"))

总结

通过 setuptools 配置 setup.py 文件,并使用 find_packages() 来自动查找和打包模块,你可以轻松创建、打包和分发 Python 包。

你可能感兴趣的:(日常琐问,python,开发语言)