记录下python用pyinstaller打包exe心得
最近要给个外包写个小工具需要在无python环境下运行,这只能打包成exe程序了,之前没打包成exe的经验,在经过一番度娘后,决定自己写个,把其中遇到的坑记录下。
需要打包的脚本文件目录在~/test/myscript.py
- pip install pyinstaller
- cd ~/test
- pyinstaller -F myscript.py 会在当前目录下生成个dist文件夹 下有myscript.exe 这说明打包成功
- 发现打开exe时文件一闪而过,把exe文件拖到cmd命令窗口上运行,检查哪里出问题!
出现 No module name ‘_config’ 时, 由于这个模块是自己写的 不是python自带的 我们需要把把命令改下, 比如说这个模块被我放在
E:/test/libs/_config.py. 这时候打包命令 得改成 pyinstaller -F -p E:/test/libs myscript.py 如果有多个自定义的模块需要导入 命令应该是
pyinstaller -F -p E:/test/libs -p E:/test1/libs myscript.py 用多次-p来使用 ,如果不是自定义的模块缺少,就用pip install 安装。 - 如果不想打开exe出现dos窗口 pyinstaller -F -w -p E:/test/libs -p E:/test1/libs myscript.py
- 给exe文件添加图标 pyinstaller -F -w -p E:/test/libs -p E:/test1/libs myscript.py -i .\myIcon.ico