pyinstaller 打包 ! pyinstaller 打包路径问题!wordcloud打包缺失stopwords文件

wordcloud打包缺失stopwords文件

错误描述

Unhandled exception in script
Failed to execute script'main' due to unhandled exception: (Errno 2] No such file or directory:
'C:\Users\VADMINI\appDatallLocal\Templ\2\ME186322\wordcloud\stopwords'

在这里插入图片描述

解决办法

找到安装wordcloud的路径下
默认在你python安装路径下的lib的这个文件夹下的wordcloud.py
在这里插入图片描述
打包时将以下代码

STOPWORDS = set(map(str.strip, open(os.path.join(FILE, 'stopwords')).readlines()))

改为

STOPWORDS = set(map(str.strip, open(os.path.join(os.path.dirname(sys.executable), 'stopwords')).readlines()))

改成是在执行exe程序时会去exe文件下的同级下寻找stopwords这个文件
可根据自己的配置需求更改文件位置,如下

STOPWORDS = set(map(str.strip, open(os.path.join(os.path.dirname(sys.executable), 'config','stopwords')).readlines()))

执行exe程序时会去exe文件下的同级目录下寻找config目录下stopwords这个文件

!!!开发环境时需要还原回去,或者保证你的stopwords文件可以在运行能被找到

pyinstaller 打包路径问题

python将资源文件一起打包进exe 讲解(有算例)

本人直接使用下边方法进行路径映射,将项目里的配置文件,直接拷贝一份到与exe文件同级目录下

import os
import sys

def file_address():
    if getattr(sys, "frozen", False):
        BASE_DIR = os.path.dirname(sys.executable)
    else:
        BASE_DIR = os.path.dirname(os.path.abspath(__file__))

    return BASE_DIR

pyinstaller 打包

需要运用的库

pip install pyinstaller

单个文件打包

cmd进入py项目目录,执行命令:

pyinstaller -F -w -i xxx.ico main.py --noconsole

或者:

pyinstaller -F -w --icon=xxx.ico main.py --noconsole

-F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,固定命令。
-w表示窗体程序,
–icon是设置exe的显示图标,*.ico文件可以到网上ico矢量图在线转换工具处理。
'main.py’是程序的入口(如果是单个文件就换成文件名,如:hello.py),
–noconsole 表示不展示cmd窗口,反过来想看cmd窗口就改成–console。
常用打包命令:
打包exe:pyinstaller -F main.py
不带控制台的打包:pyinstaller -F -w main.py
打包指定exe图标打包:pyinstaller -F -i xx.ico main.py

多个文件打包

cmd进入py项目目录,执行命令:

pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2]

如下:

pyinstaller -F -w --icon=testIcon.ico main.py -p addres.py -p test1.py -p test2.py --hidden-import addres --hidden-import test1 --hidden-import test2

打包成功

在这里插入图片描述
会在项目根目录下生成一下两个文件夹
在这里插入图片描述
在dist文件夹下会有一个xxx.exe,名字根据你打包的主文件.py进行命名,双击执行即可。
!!!若有配置文件的需要先将配置文件按照开发项目的目录结构先考呗一份到与exe同级目录下。

据说使用Anaconda虚拟环境可以减少exe文件体积,目前没有使用过,有兴趣可以自行探索

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值