• 用Python造轮子


    背景

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

    安装setuptools库

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

    pip install wheel
    pip install setuptools
    
    • 1
    • 2

    准备要打包的代码

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

    hello.py

    在这里插入图片描述

    包名就打算叫big_word了。

    在这里插入图片描述

    创建setup.py文件

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

    from setuptools import setup
    
    setup(name='mingnanqu', # 库的名称(安装的时候用的,即pip install name)
          version='1.0',    # 版本号
          description='word很大',
          author='mingnanqu',
          author_email='xxx@gmail.com',
          py_modules=['hello'],
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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='xxx@gmail.com',
        # url
        include_package_data=True,  # 包含非代码文件(如模板、静态文件等)
        long_description=README,  # 项目的详细描述,从 README.md 文件获取
        long_description_content_type="text/markdown",  # 详细描述的内容类型
        install_requires=requirements,  # 项目的依赖列表
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    打包生成whl文件

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

    python setup.py bdist_wheel
    
    • 1

    如果出现以下信息,就说明已经打包成功了。
    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述

    打包好的库就在dist
    在这里插入图片描述

    把库装到电脑上

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

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

    这个大家都懂就不截屏了

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

    使用这个库

    在这里插入图片描述

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

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

  • 相关阅读:
    ipv6学习笔记221029
    Matplotlib傻瓜指南
    Java——状态管理
    常用排序算法
    Hystrix 部署
    React.FC(函数式组件)与React.Component(类组件)使用和区别
    机器学习(四)机器学习分类及场景应用
    SRC实战 | CORS跨资源共享漏洞
    刘畊宏男孩女孩看过来!运动数据分析挖掘!⛵
    计算机毕业设计ssm高校学报管理系统lt10k系统+程序+源码+lw+远程部署
  • 原文地址:https://blog.csdn.net/m0_69082030/article/details/133934730