pyinstaller流程及相关问题

pyinstaller流程

安装pyinstaller

在命令行中打开main.py(主文件)所在的位置

F:

cd F:\****\PycharmProjects\***

在同级目录下运行命令:

-F 打包单个文件,产生一个文件用于部署(默认),如果代码都写在一个.py文件时使用,项目有多个文件时不要使用

-D 打包多个文件,产生一个目录用于部署(默认),用于框架编写的代码打包

pyinstaller -F main.py(打包单个文件,生成build是过程文件夹,可以删除没撒用)

pyi-makespec main.py  (创建spec文件:打包多个文件或者一个完整项目,需要配置spec文件)

配置spec文件详见:

📏Python项目打包方法 - 给你骨质唱疏松 - 博客园

解决pyinstaller打包py文件运行exe闪退等诸多疑难杂症_白金之星1717的博客-CSDN博客_pyinstaller打包exe运行闪退

pyinstaller打包python程序(多文件) - RonyJay - 博客园

配置完成后运行:

pyinstaller -D main.spec

遇到的问题

ValueError: The 'branca' package was not installed in a way that PackageLoader understands.

jinja2版本过高

pip3 uninstall jinja2

pip3 install Jinja2==2.10.1

problem accessing odoo from ubuntu terminal 18 - Stack Overflow

没找到folium包中的json文件

exe - Branca Python module is unable to find 2 essential json files when running an executable that uses folium - Stack Overflow

我的报错还不太一样,报错说不能在打包路径下找到json文件,所以我直接把python路径下的branca库完整复制到打包路径下,问题解决

ValueError('Custom tiles must have an attribution.')

python 3.x - raise Value Error('Custom files must have an attribution') - Stack Overflow

虽然暂时解决,但还没有搞清楚。问题出在folium.Map中,一般的语句

map = folium.Map(location=[53.073635, 8.806422], zoom_start=15, tiles='Stamen Terrain')

打包后就会报这个错,不清楚原因。改成指定attr后,问题解决

map = folium.Map(
    location=[35, 110],
    zoom_start=5,
    tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
    attr="&copy; <a href='https://ditu.amap.com/'>高德地图</a>")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyInstaller 是一个用于将 Python 代码打包成可执行文件的工具。以下是 PyInstaller 的打包流程: 1. 安装 PyInstaller:使用 pip 命令进行安装,例如 `pip install pyinstaller`。 2. 创建打包脚本:在你的项目根目录下创建一个打包脚本,通常使用 Python 脚本文件(如 `build.py`)来定义打包的配置和选项。 3. 配置打包选项:在打包脚本中,你可以指定一些配置选项,例如设置入口文件、指定输出目录、添加额外的资源文件等。 4. 执行打包命令:在命令行中运行打包脚本或者直接使用 PyInstaller 命令。例如,使用 `pyinstaller build.py` 或者 `python -m PyInstaller build.py`。 5. 打包过程:PyInstaller 会分析你的代码及其依赖,将它们收集起来,并创建一个可执行文件。它会自动将 Python 解释器和依赖的模块一起打包,以便在没有 Python 环境的机器上运行。 6. 输出可执行文件:打包完成后,PyInstaller 会在指定的输出目录中生成可执行文件。根据你的配置,可能会生成一个单个的可执行文件或者一个包含依赖的文件夹。 7. 测试可执行文件:运行生成的可执行文件,确保它能够正常工作。在测试过程中,可能需要手动复制一些资源文件到可执行文件所在的目录。 请注意,PyInstaller 并不是万能的,某些特殊的 Python 代码或依赖可能无法正确打包。在使用 PyInstaller 进行打包时,你可能需要根据具体情况进行一些配置和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值