virtualenv + pyinstaller 将python程序打包成.exe文件(Windows系统)

一、virtualenv

virtualenv用于创建一个虚拟的python环境,用于解决python环境中安装的包过多,存在冲突的问题

1、virtualenv安装

pip install virtualenv

可使用 virtualenv --version 查看安装情况

2、virturalenv基本使用

打开命令行窗口(win+R ->cmd),切换到想要创建虚拟环境的目录下(例如:cd xxx)

(1)创建虚拟环境:

virtualenv pyenv

pyenv即虚拟环境所在的文件夹,可自行定义其名称

(2)激活虚拟环境

cd pyenv/Scripts  切换到虚拟环境的Scripts目录
activate          执行activate命令激活当前虚拟环境

(3)退出当前虚拟环境

deactivate

二、pyinstaller

1、安装pyinstaller

pip install pyinstaller

2、pyinstaller 基本使用

命令语法:pyinstaller -选项 python源文件/目录

打包后的exe文件存放在生成的dist文件夹中

三、virturalenv + pyinstaller最小化打包python程序

基本流程

  • virtualenv envname #创建新的虚拟环境
  • cd envname # 进入虚拟环境目录
  • cd Scripts # 进入虚拟环境的Scripts文件夹中
  • activate # 激活虚拟环境
  • pip install pyinstaller # 安装打包工具pyinstaller
  • pip install pypiwin32 # 安装打包工具相关依赖
  • pip install python-packages # 安装python程序中需要引入的外部包
  • 将需要打包的python文件或文件夹复制到Scripts目录中(该步骤也可以不用执行)
  • pyinstaller -F py文件路径
  • 切换到Scripts目录下,执行deactivate,取消激活虚拟环境
  • 打包结束,exe文件存放在dist文件夹中

四、pyinstaller打包xgboost存在的一些问题

由于打包的程序中引用了xgboost模块,打包成功后运行exe文件时,界面一闪而过,通过命令行运行该程序,报错如下

xgboost.libpath.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path

对此在网上搜索了一些方法,如下介绍本人解决问题的一种方法:

(1)在GitHub上下载xgbbost源码

(2)将源码文件中python-package中的xgboost文件夹复制到你自己的python项目中

(3)下载xgboost.dll

通过官方网站下载时网页无法访问,故在此通过本人百度网盘分享该文件。

链接:
提取码:w9tz

下载好了之后,将该文件复制到(2)中的xgboost文件夹中

(4)使用pyinstaller打包时,在命令结尾加上

--add-data=xgboost;xgboost

后期发现这个方法在使用的时候还是会出现问题,可以尝试用-D参数打包成文件夹,然后把xgboost源码文件复制到生成的exe文件所在的文件夹中

或者直接用下面的命令,不过xgboost源码文件夹要在当前命令目录下

pyinstaller -D main.py --add-data=xgboost;xgboost

posted on   帅胡  阅读(499)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2022-04-09 Windows10下安装MySQL8.0
2022-04-09 MySQL允许远程登录的授权方法

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示