virtualenv + pyinstaller 将python程序打包成.exe文件(Windows系统) |
您所在的位置:网站首页 › pypiwin32安装 › 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 pyenvpyenv即虚拟环境所在的文件夹,可自行定义其名称 (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源码 https://github.com/dmlc/xgboost (2)将源码文件中python-package中的xgboost文件夹复制到你自己的python项目中 (3)下载xgboost.dll 通过官方网站下载时网页无法访问,故在此通过本人百度网盘分享该文件。 链接:https://pan.baidu.com/s/1zkvTFe-Jt5K2cv96etwLIQ提取码:w9tz下载好了之后,将该文件复制到(2)中的xgboost文件夹中 (4)使用pyinstaller打包时,在命令结尾加上 --add-data=xgboost;xgboost后期发现这个方法在使用的时候还是会出现问题,可以尝试用-D参数打包成文件夹,然后把xgboost源码文件复制到生成的exe文件所在的文件夹中 或者直接用下面的命令,不过xgboost源码文件夹要在当前命令目录下 pyinstaller -D main.py --add-data=xgboost;xgboost |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |