python文件打包实战技巧

众所周知,python是一种脚本语言,python程序必须在python环境下运行,所以如果想把自己写的程序给别人看的话,就比较麻烦,他需要先配置python环境,对于电脑小白来说这是"要命"的事情。而且如果是客户的话,也不想让对方知道源代码,那么怎样才能既保留自己的源代码同时又能让对方很方便的使用自己的程序呢?

PyInstaller的安装可以在命令行输入以下命令直接安装:

pip install PyInstaller

如果看到Successfully install PyInstaller-x.x.x就表示安装成功。(x.x.x代表版本)也可以在python官网下载。

下面开始进行文件打包

先在桌面建一个文件夹并把需要打包的代码文件放入其中。

打开文件

新建文件夹

在文件夹内空白处按住Shift并点击鼠标右键,然后点击在此处打开Powershell窗口。

命令窗口

打开命令窗口

输入以下命令开始打包:Pyinstaller test.py

出现如下图所示内容就表示打包完成了。

打包完成

打包完成

注意:由于电脑管家会把这种文件识别为木马病毒,所以出现该情况就需要自己找回文件,恢复并添加至信任区。

把文件添加到信任区

找回文件

然后再看刚才新建的文件夹,会发现多了很多文件,只需要在build文件下找到test.exe就可以了,exe后缀的文件就是电脑可执行文件,其他的文件都可以删除掉,只需要将exe文件发送给其他人,不管对方有没有python环境,他只要双击就可以运行,而且也看不到源代码。

通过上述默认打包方式就可以对代码文件进行简单的打包了,但是还是觉得不太美观,而且很多没用的文件显得冗余,所以PyInstaller还提供了其他的打包形式。

-F 只产生单个的可执行文件

-D 产生一个目录包含多个文件(exe在其中,此为默认打包方式)

-w 去除运行时出现的命令行黑窗口

-i 将ico后缀的图片作为可执行文件的图标

等等还有很多命令(可以去官网看官方文档),最主要的就只需记住这些就行了。

它们的用法如下:pyinstaller -w -F -i favicon.ico test.py

其中favicon.ico为图标。需要放在代码文件同目录下。

然后跟第一次打包方式相同,只是输入命令的时候换成后面的。按照这种方式(只要有-F命令的)打包成功后,这时的exe可执行文件在dist文件夹下。

打开发现有且只有这个exe文件,看上去非常的简洁,而且有了图标后观赏性也大大提高了。

通过以上步骤,代码文件就打包好了。

最后

分享一份Python的学习资料,但由于篇幅有限,完整文档可以扫码免费领取!!!

1)Python所有方向的学习路线(新版)

总结的Python爬虫和数据分析等各个方向应该学习的技术栈。

比如说爬虫这一块,很多人以为学了xpath和PyQuery等几个解析库之后就精通的python爬虫,其实路还有很长,比如说移动端爬虫和JS逆向等等。

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然达不到大佬的程度,但是精通python是没有问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

相关推荐
独好紫罗兰几秒前
对python的再认识-基于数据结构进行-a008-集合-拓展
开发语言·数据结构·python
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴9 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再9 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
m0_7369191010 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手10 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy11 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
黎雁·泠崖11 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724612 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法