用Python造轮子

目录

    • 背景
    • 安装setuptools库
    • 准备要打包的代码
    • 创建setup.py文件
    • 打包生成whl文件
    • 把库装到电脑上
    • 使用这个库

背景

如何把自己写的代码,打包成库方便其他人使用

安装setuptools库

正所谓想要富先修路,先把造轮子要用的库装上

pip install wheel
pip install setuptools

准备要打包的代码

本文我将拿最经典的代码为例。

hello.py

在这里插入图片描述

包名就打算叫big_word了。

用Python造轮子_第1张图片

创建setup.py文件

在包内目录下创建一个setup.py文件,并按照以下格式写入一个setup方法(我就挑了几个写)。

from setuptools import setup

setup(name='mingnanqu', # 库的名称(安装的时候用的,即pip install name)
      version='1.0',    # 版本号
      description='word很大',
      author='mingnanqu',
      author_email='[email protected]',
      py_modules=['hello'],
)

setup.py参数介绍:
name : 打包起来的包的文件名
version : 版本号,添加为打包文件的后缀名
author : 作者
author_email : 作者的邮箱
py_modules : 打包的.py文件
packages: 打包的python文件夹
include_package_data : 打包非py文件的目录
license : 支持的开源协议
description : 对项目简短的一个形容
ext_modules : 是一个包含Extension实例的列表,Extension的定义也有一些参数。
ext_package : 定义extension的相对路径
requires : 定义依赖哪些模块
provides : 定义可以为哪些模块提供依赖
data_files :指定其他的一些文件(如配置文件),规定了哪些文件被安装到哪些目录中。如果目录名是相对路径,则是相对于sys.prefix或sys.exec_prefix的路径。如果没有提供模板,会被添加到MANIFEST文件中。

还是给我完整通用一点的吧 ^ _ ^

import os

from setuptools import find_packages, setup

with open("requirements.txt") as f:
    requirements = f.read().splitlines()

with open(
    os.path.join(os.path.dirname(__file__), "README.md"), encoding="utf-8"
) as readme:
    README = readme.read()

setup(
    name="mingnanqu",  # 项目名称
    version="1.0.0",  # 项目版本
    description="word很大",  # 项目的简短描述
    packages=find_packages(),  # 包含项目中的所有包
    author='mingnanqu',
    author_email='[email protected]',
    # url
    include_package_data=True,  # 包含非代码文件(如模板、静态文件等)
    long_description=README,  # 项目的详细描述,从 README.md 文件获取
    long_description_content_type="text/markdown",  # 详细描述的内容类型
    install_requires=requirements,  # 项目的依赖列表
)

打包生成whl文件

进到setup.py的目录,打开cmd窗口:
输入

python setup.py bdist_wheel

如果出现以下信息,就说明已经打包成功了。
用Python造轮子_第2张图片
在这里插入图片描述

setup.py所在的目录下会多几个文件夹。

在这里插入图片描述

打包好的库就在dist
用Python造轮子_第3张图片

把库装到电脑上

在库所在的目录下打开cmd,并输入

pip install 打包成库的文件名(whl文件)

这个大家都懂就不截屏了

使用pip list命令查看本地是否已成功安装,验证一下就行了

使用这个库

在这里插入图片描述

需要注意这里是 import 包(目录/文件)名,而不是这个库(mingnanqu)的名字,库的名字只用于pip而已,当然你可以起同一个名字

这样就实现通过whl文件可以让别的伙伴也能使用你造的轮子啦。

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