Pycharm如何对python文件进行打包

windows使用Pycharm 对python文件进行打包

首先建立python项目的时候要按照标准来建设

我使用的python配置的解释器,没有使用python的虚拟环境,因为虚拟环境建设出来的项目不是我想要的项目结构 ,包结构比较多,看着不是很舒服

Pycharm如何对python文件进行打包_第1张图片

配置完成后 点击创建

创建完成后可以自己创建合适包结构

Pycharm如何对python文件进行打包_第2张图片

创建完合适的包结构后,就可以编写python代码了,但要python代码运行开,需要配置运行环境

Pycharm如何对python文件进行打包_第3张图片

环境配置调试好就可以运行调试python代码,代码没有问题,需要打包运行测试 我只是在windows环境运行验证

我使用的是pyinstaller 进行的打包测试

首先需要先安装pyinstaller 命令 pip install pyinstaller 安装pyinstaller之前,需要先有python环境,同时也需要安装 piphttps://pypi.org/project/pip/

因为我已经安装过了 所以提示已经安装 (安装可以使用cmd黑窗口,也可以使用软件,没有区别)

Pycharm如何对python文件进行打包_第4张图片

在安装pyinstaller的同时,可能会报错,说什么pip的版本可能不匹配,建议升级 pip版本 14 更新pip版本的方法

python -m pip install --upgrade pip

查询匹配的版本 pip -V

下面进行打包

  • -F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
  • -D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
  • -K, –tk 在部署时包含 TCL/TK
  • -a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
  • -d, –debug 产生debug版本的可执行文件
  • -w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
  • -c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)

Pycharm如何对python文件进行打包_第5张图片

打包成功会出现下面成功的标识

打包完成运行时,可能会出现找不到python模块的问题,这时候就需要查看到底什么模块包找不到

Pycharm如何对python文件进行打包_第6张图片

可以先看上面的图片有没有 ,没有的话 点击上面图片偏左下角的加号

Pycharm如何对python文件进行打包_第7张图片

输入需要的模块包,进行安装, 因为国内有好几个镜像存储库,模块包的情况可能会不一样

Pycharm如何对python文件进行打包_第8张图片

存储库可以进行添加和删除

如果通过界面安装失败, 也可以通过命令进行安装

首先需要查看模块包是否存在在环境的包路径下 命令 pip show 模块名称

Pycharm如何对python文件进行打包_第9张图片

如果包存在就会显示上面一样 ,

下面是我查询一个根本不存在的包

没有包的需要命令安装,安装之前需要先下载包 https://www.lfd.uci.edu/~gohlke/pythonlibs/

Pycharm如何对python文件进行打包_第10张图片

安装命令为 安装包 pip install -y pyinstaller pip install 包名

卸载包 例如 pip uninstall -y pyinstaller

pip uninstall -y 包名

再次打包exe文件 pyinstaller -F xxx.py

因为是exe文件 所以可以双击运行,但是运行会存在黑窗口,如果被人误关掉,进程就不会存在

所以需要后台启动,这样就不会存在,误操作的失误,这样进程想要结束的话,可以通过任务管理器来执行关闭

echo off D:\develop\PYCharm\PYCharmWorkSpace\test_Agent\windows\winAgent\judgeFile_and_access_to_information\dist\judg_and_get_message.exe pause

DIM objShell set objShell=wscript.createObject(“wscript.shell”) iReturn=objShell.Run(“cmd.exe /C judge_and_getMessage.bat”, 0, TRUE)

bat文件和exe双击效果是一样的,vbs结尾的文件,是属于后台启动的,但是vbs的文件依赖bat文件

所这些文件最好在同一级目录下面

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Pycharm如何对python文件进行打包)