Python项目打包成exe文件

1. 使用 pip 下载打包工具:

# pip install pywin32

# pip install pyinstaller

2. 在桌面新建文件夹 python-package:

拷贝打包文件, 如图:

Python项目打包成exe文件_第1张图片

ImgToObj.py    需要打包的Python文件

cv2    使用到的 OpenCV 包, 在 Python安装目录/Lib/site-packages/ 下找到 cv2

numpy    使用到的 numpy 包, 在 Python安装目录/Lib/site-packages/ 下找到 numpy

exe_icon.ico    打包出来exe文件使用的图标

3. 打包

# pyinstaller -F -i exe_icon.ico ImgToObj.py    带图标

#  pyinstaller -F ImgToObj.py    不带图标

可选参数:

    -F    生成单个可执行文件

    -w    去掉控制台窗口,这在GUI界面时非常有用。打包调试的时候可以去掉此参数, 用于打包BUG调试。不然什么错都不知道。

    -p    你自己自定义需要加载的类路径,一般情况下用不到

    -i    可执行文件的图标

4. 打包完成:

Python项目打包成exe文件_第2张图片

打包完成!!!

 

打包多文件 使用 --hidden-import 参数.

pyinstaller -w -F -i SystemConfig.ico __init__.py --hidden-import ConfigLoader.py --hidden-import ConfigPage.py

注意: 文件必须在同一目录. 且是根目录, 现在还不了解怎么打包多目录的项目.

 

打包QT项目时, 遇到

ImportError: unable to find Qt5Core.dll on PATH

错误, 解决方法: 

import sys
import os
if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

from PyQt5 import QtCore, QtWidgets

获取打包后 exe 文件的当前目录:

# exe 或者 项目 的根目录    
base_path = os.path.dirname(os.path.realpath(sys.argv[0]))

 

 

 

 

你可能感兴趣的:(Python)