❤❤❤❤❤
本人计算机小白,之前从未接触过软件开发的工作,会一点点Python也仅作数据分析用途。

这次是第一次用Python写了一个自动化生成PDF报告的代码。
由于自动生成报告只是一个小功能,总工要求我把它转为.o或.dll方便调用。
百度后发现,我需要先把它转为C语言,再转为.o文件,其中涉及了大量操作,实在太麻烦。
所以我想直接转为执行文件,再由前端用接口直接调用。

在把Python代码转为执行文件的过程中遇到了很多坑,百度了很多方法,终得以解决。

由于第一次写博文,在操作的时候截图较少,用了些别人的图。

算一篇小总结吧。参考资料均已标明出处。

使用版本号:Python3.8

❤❤❤❤❤

1、Python转执行文件的包

一个Pyinstaller就够了,亲测有效。

pip install pyinstaller

参考资料:https://blog.csdn.net/ruoyunliufeng/article/details/72652075

2、报错matplotlib pep425tags

解决方法:

①将Matplotlib卸载

pip uninstall matplotlib

②查看pip支持版本

pip debug --verbose

如图:

③到这个网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
下载支持版本的whl文件,然后安装,并将在下载的.whl文件放在Python的Scripts目录下,如图:

④下载这个Matplotlib包

pip install matplotlib-3.1.1-cp37-cp37m-win_amd64.whl

成功后可以重新打包了。

参考资料:
[1]:https://blog.csdn.net/weixin_42769131/article/details/109955085
[2]:https://blog.csdn.net/weixin_39702400/article/details/109950231
[3]:https://lanzao.blog.csdn.net/article/details/103881372

3、报错IndexError: tuple index out of range

解决方法:

①到GitHub上下载: https://github.com/pyinstaller/pyinstaller

②下载到本地以后解压,将里面的{PyInstaller文件夹}复制到C:\Users\Y\AppData\Local\Programs\Python\Python36\Lib\site-packages目录下(每个人目录不太一样,报错信息中可以找到此目录),替换原来的文件夹。

成功后可以重新打包了。

参考资料:https://blog.csdn.net/qq_35614920/article/details/77096238

4、报错numpy.core.multiarray failed to import

这是因为cv2要求的Numpy版本与你装的Numpy版本不一致,导致冲突。所以要将两者都重新安装为适配版本就行(可以多试一下哪些版本适配,以下是我用的版本)。

解决方法:

pip install opencv-python==4.5.3.56
pip install numpy==1.21.2

若安装指定版本需管理者权限

pip install --user-v scikit-learn==0.18.0  # 以管理者身份下载scikit-learn的0.18.0版本

参考资料:
[1]:https://xfxuezhang.blog.csdn.net/article/details/98727562
[2]:https://blog.csdn.net/msq16021/article/details/111353277

5、报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool

解决方法:

pip --default-timeout=100 install 库名称 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

参考资料:https://xiaoshuwen.blog.csdn.net/article/details/99698807

6、生成执行文件后无法查看报错信息

解决方法:

①在Cmd或在Pycharm的Terminal中,修改目录 > cd 执行文件所在目录,如图:


②然后运行执行文件,如图:

参考资料:https://blog.csdn.net/cooldream2009/article/details/91039161

7、配置文件

之前直接用的config.py。main.py中from config import 。但在pyinstaller -w main.py时发现,config.py被当成模块直接打包了,无法修改配置内容。

解决方法:

把config.py转为.txt文本格式读入Python。

①由于xml格式方便修改内容,而txt格式方便Python读取。我先把config.py转为xml格式,再将文件名扩展名改为txt。

②进行第一次打包:

pyinstaller -w main.py

③修改生成的main.spec内容:
datas = [(‘config.txt’, ‘.’),(‘需放入打包的文件如中文字体文件’,‘相对路径’)]
需注意中括号内为元组,如图:

④完成main.spec修改后,再次打包

pyinstaller -F main.spec

参考资料:https://blog.csdn.net/weixin_44517301/article/details/108173669

8、管理员权限类报错

①打包*.spec时报错PermissionError: [Errno 13] Permission denied: 'C:\…\ucrtbase.dll

解决方法:

关闭360后再打包。

②执行文件打不开

解决方法:

将执行文件整个文件夹加入360信任区。

③执行文件无法删除,需管理员权限

解决方法:

法一、拼手速。重启电脑后快速删除文件,因为管理员权限加载需要时间。
法二、关闭360后删除。
法三、替换文件。

❤❤❤❤❤

使用PyInstaller遇到的坑坑洼洼相关推荐

  1. python抓取数据时失败_爬取数据缺失的补坑,Python数据爬取的坑坑洼洼如何铲平...

    渣渣业余选手讲解,关于爬取数据缺失的补坑,一点点关于Python数据爬取的坑坑洼洼如何铲平,个人的一些心得体会,还有结合实例的数据缺失的补全,几点参考,仅供观赏,如有雷同,那肯定是我抄袭的! 在使用P ...

  2. Pyinstaller 打包 torch 后执行失败 OSError: could not get source code

    1. 问题现象 系统环境 Python 3.6.9 torch 1.2.0 torchvision 0.4.0 Pyinstaller 4.5.1 Pyinstaller 打包 torch 后执行失败 ...

  3. Ubuntu 16.04 安装 PyInstaller

    sudo apt-get install python3-pip sudo pip3 install pefile==2018.8.8 sudo pip3 install pyinstaller==3 ...

  4. pyinstaller 打包tensorflow2.0为单个文件

    主要参考了 https://blog.csdn.net/Jayden_Gu/article/details/94134409 还要参考 https://cloud.tencent.com/develo ...

  5. PyInstaller库的使用

    1.简介 是第三方库,需要额外安装 使用其可以让Python以可执行文件而非源码形式运行 2.安装方式 在命令行输入 pip install pyinstaller 3.使用方式 在命令行输入 pyi ...

  6. python 没反应 生成exe_通过 pyinstaller 将 python 脚本打包成可执行程序!

    1. 引言 很多时候,我们需要在 windows 环境编写和执行 python 脚本,但是去搭建一整套 python 运行环境看上去就过于繁琐了,即便是拥有 python 运行环境,脚本的执行也并不方 ...

  7. pyinstaller打包生成的exe文件(并设置运行时静默)

    pyinstaller打包生成的exe文件(并设置运行时静默) 目录 pyinstaller打包生成的exe文件(并设置运行时静默)

  8. pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行

    pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行 目录 pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行 #pyinstalle ...

  9. Python执行pyinstaller打包生成的exe文件实战

    Python执行pyinstaller打包生成的exe文件实战 目录 Python执行pyinstaller打包生成的exe文件实战 #pyinstaller打包生成的exe文件

最新文章

  1. eeglab中文教程系列(13)-导入cnt文件
  2. 百度推出LinearDesign,全球首个mRNA疫苗不稳定性解决方案,仅需16分钟
  3. 也许MVC不该重写Url格式?
  4. 菜鸟教程python3 mysql_MySQL 教程
  5. 将Spring Bean注入非托管对象
  6. java xca碗组口径,公路车常见杂音检查清单和解决方法(图文)
  7. 你的飞碟在这儿(洛谷-P1200 )
  8. RN子组件获取redux数据
  9. Auto type deducing
  10. OLED屏智能手机在出货量方面仍未占据主导地位 但预计今年将接近40%
  11. esp8266 防掉线方法_ESP8266-12F 中断
  12. php语法中变量如何定义和使用,PHP语法—PHP的变量
  13. Java 从入门到精通 第16章String类
  14. mybatis plus分页插件 total数为0
  15. 拳皇java_拳皇(Java简单的小程序)代码实例
  16. java的setbounds_Swing-setBounds()用法-入门
  17. 从董明珠雷军世纪之赌中看到什么样的格力和小米?
  18. DB、DBMS、SQL分别是什么,有什么关系?
  19. 谷歌浏览器打开CSDN老是弹出安卓网页
  20. I2C、Arduino、ADXL345、

热门文章

  1. java数学题_小学数学练习题用Java实现
  2. ERD Online 4.0.11 在线数据库建模、元数据协作平台(免费、私有部署)
  3. 今日金融词汇---BP
  4. AD17如何将图片转化为PCB图片丝印,定制你的专属logo!
  5. 计算机网络要点归纳-(谢希仁版本)
  6. 进程:multiprocessing
  7. 西安互联网公司防坑指南
  8. Cadence路径设置
  9. AndroidStudio电子书的实现
  10. 孪生素数的最优解(应该)