python生成的exe程序不能正常运行,我来填几个坑

 

    下面描述几个我在使用pyinstaller工具,生成exe文件遇到的坑,及解决方案。

一、路径中存在中文。

    1、错误信息:

    2、原因:exe程序的路径中存在中文。如:

二、找不到模块(module)

    1、错误信息:

 2、原因分析:

    我的python程序是在pycharm中写的,在pycharm中,我创建的工程名称是PS_HY,python主程序是main.py,其他的py文件全部是各个网站的采集模块。

    在用pycharm写程序及调试时,模块的调用是通过这种方式:

from 工程名.模块文件名 import 模块类名

    注意这个时候,模块我是全放在跟main.py文件同一目录下的。但是以同样的目录结构,去生成exe文件时,就会出现no module的错误。

    解决办法是:在准备将py文件生成exe时,在main.py的目录中,创建一个与工程名同名的文件夹,将所引用的模块文件,全部放入此文件夹中,然后再生成exe程序。

    注意生成exe的命令格式,如:

pyinstaller -F main.py -p PS_HY\growatt.py -p PS_HY\kstar.py -p PS_HY\MGMTigen.py -p PS_HY\MGMTshine.py -p PS_HY\sanJing.py -p PS_HY\data\psData.py -p PS_HY\data\userData.py

三、生成的exe文件在自己电脑上运行正常,在别人电脑上不正常。

    1、错误信息:

(此项没有截图,好像错误信息种类挺多的,依照解决)

    2、原因分析:

    一般我们自己的电脑在写python程序之间,会配置各种各样的程序环境支持库,NET.、C++等等,而要使用我们发布的exe程序的用户,他们可能从未接触编程,可能只是普通办公电脑,从未添加这些库,而想要找到他们缺少的是哪个dll文件,更是麻烦,这个时候我们只需要一个软件搞定。点击下载,当安装时出现NET.Frame版本错误时,可安装第二个文件后再尝试,点击下载第二个软件

        暂时我就遇到了这三方面的问题,还有一个不单独分析了,是在使用验证码识别模块的时候,需要将【tessdata】文件夹复制到与main.exe同目录下,才能正常运行。

        大家还有其他方面的问题,欢迎一起讨论。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值