当前位置:首页 » 《休闲阅读》 » 正文

手把手教你打包Python项目为whl文件

27 人参与  2024年11月10日 14:41  分类 : 《休闲阅读》  评论

点击全文阅读


目录

1,打包whl文件作用

2,单个Python文件打包

1、程序目录

2、程序内容

3、打whl包

4、将whl包导入环境

​编辑

5、查看效果

6、代码验证

3、多个python文件打包

1、程序目录

​编辑

2、程序内容

3、打whl包

​编辑

4、将whl包导入环境

5、查看效果

6、代码验证


1,打包whl文件作用

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

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

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

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

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

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

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

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

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

提高安全性:通过使用可信的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 setupsetup(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、代码验证


点击全文阅读


本文链接:http://zhangshiyu.com/post/184285.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 祖母寿宴,侯府冒牌嫡女被打脸了(沈屿安秦秀婉)阅读 -
  • 《雕花锦年,昭都旧梦》(裴辞鹤昭都)完结版小说全文免费阅读_最新热门小说《雕花锦年,昭都旧梦》(裴辞鹤昭都) -
  • 郊区41号(许洛竹王云云)完整版免费阅读_最新全本小说郊区41号(许洛竹王云云) -
  • 负我情深几许(白诗茵陆司宴)完结版小说阅读_最热门小说排行榜负我情深几许白诗茵陆司宴 -
  • 九胞胎孕妇赖上我萱萱蓉蓉免费阅读全文_免费小说在线看九胞胎孕妇赖上我萱萱蓉蓉 -
  • 为保白月光,侯爷拿我抵了债(谢景安花田)小说完结版_完结版小说全文免费阅读为保白月光,侯爷拿我抵了债谢景安花田 -
  • 陆望程映川上官硕《我的阿爹是带攻略系统的替身》最新章节阅读_(我的阿爹是带攻略系统的替身)全章节免费在线阅读陆望程映川上官硕
  • 郑雅琴魏旭明免费阅读_郑雅琴魏旭明小说全文阅读笔趣阁
  • 头条热门小说《乔书意贺宴临(乔书意贺宴临)》乔书意贺宴临(全集完整小说大结局)全文阅读笔趣阁
  • 完结好看小说跨年夜,老婆初恋送儿子故意出车祸_沈月柔林瀚枫完结的小说免费阅读推荐
  • 热推《郑雅琴魏旭明》郑雅琴魏旭明~小说全文阅读~完本【已完结】笔趣阁
  • 《你的遗憾与我无关》宋怀川冯洛洛无弹窗小说免费阅读_免费小说大全《你的遗憾与我无关》宋怀川冯洛洛 -

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1