Python项目打包成whl文件详细教程

目录

1,打包whl文件作用

2,单个Python文件打包

1、程序目录

2、程序内容

3、打whl包

4、将whl包导入环境

​编辑

5、查看效果

6、代码验证

3、多个python文件打包

1、程序目录

​编辑

2、程序内容

3、打whl包

​编辑

4、将whl包导入环境

5、查看效果

6、代码验证


1,打包whl文件作用

  1. 便于分发.whl文件是一种Python分发包格式,它允许开发者将代码和资源打包在一起,方便其他用户或开发者下载和安装。

  2. 兼容性:Wheel文件格式是跨平台的,可以在不同的操作系统上使用,比如Windows、Linux和macOS。

  3. 安装速度:与源代码包相比,Wheel文件通常安装速度更快,因为它们是预编译的,不需要用户在安装时编译。

  4. 依赖管理:Wheel文件可以包含项目的依赖信息,使得安装过程更加自动化,减少了因缺少依赖而出现的问题。

  5. 版本控制:通过打包成.whl文件,可以清晰地管理不同版本的项目,便于用户选择和升级。

  6. 避免污染环境:使用Wheel文件安装的包通常不会修改全局Python环境,这有助于避免不同项目间的依赖冲突。

  7. 简化开发流程:开发者可以通过Wheel文件快速测试和部署他们的项目,无需担心环境配置问题。

  8. 支持额外的元数据:Wheel文件可以包含额外的元数据,如项目的描述、作者信息、许可证等,有助于用户了解和使用项目。

  9. 支持二进制文件:Wheel文件可以包含编译后的二进制文件,这对于包含C扩展的Python项目尤为重要,可以避免用户在安装时重新编译。

  10. 提高安全性:通过使用可信的Wheel文件源,可以减少从不可信任源下载代码的风险,提高项目的安全性。

2,单个Python文件打包

1、程序目录

在同一个文件夹whiltest下放入python程序和setup程序

目录格式如下:

whltest
    Method.py
    setup.py

2、程序内容

  • Method.py
  • class Method:
        def __init__(self,name,age):
            self.f_name = name
            self.f_age = age
            print("init success",self.f_name,self.f_age)
     
     
        def getInfo(name,age):
            print(name+"#######"+age)
     
        def my_getInfo(self):
            print(self.f_name,"##########",self.f_age)
  • setup.py
  • from setuptools import setup
    setup(name='Method',
          version='1.0',
          py_modules=['Method'],
          )

    3、打whl包

    CMD进入setup.py所在目录执行如下命令:

     python setup.py bdist_wheel

    在同目录会生成多个文件夹,其中dist文件夹下就是打包成的whl包。

    build文件夹通常在构建完成后就不再需要了,除非需要进行调试或查看构建过程的详细信息。在发布或分发项目时,通常只关心最终生成的.whl文件。

    4、将whl包导入环境

    我使用的是anaconda3,进入对应环境执行如下命令安装:

    pip install whl对应全路径

    5、查看效果

    6、代码验证

    3、多个python文件打包

    1、程序目录

    将多个py文件和__init__.py放在同一个目录下,setup.py要和此目录同级。

    目录格式如下:

    packageTest
        Test
            __init__.py
            Print.py
            get_data.py
        setup.py

    2、程序内容

  • __init__.py
  • 内容为空
  • Print.py
  • def get_info(x):
        print("x = ",x)
  • get_data.py
  • def get_data(x):
        x1 = 3*x
        return x1
  • setup.py
  • from setuptools import setup
     
    setup(name='test',
          version='1.0',
          description='test',
          author='xy',
          author_email='123456@qq.com',
          packages=['test'],
          )

    3、打whl包

    同样CMD进入setup.py同级目录下执行如下命令:

     python setup.py bdist_wheel

    4、将whl包导入环境

    我使用的是anaconda3,进入对应环境执行如下命令安装:

    5、查看效果

    同单个python文件打包的五步骤;

    6、代码验证

    作者:今夕是何年,

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python项目打包成whl文件详细教程

    发表回复