小爬从使用Pyinstaller打包py为exe文件以来,一直都会碰到Warning:lib not found等相关问题,诸如:

  虽然大多数时候,您像我一样忽略这些warning,打包后的exe也能运行。网上有一堆的方法,有建议装win7的,也有建议换32位python文件的,有提示下载2G大小的相关SDK的。总之,就是pyinstaller对目前的win10支持不够友好!但是网上这些方法代价太高,那么不改win10 X64系统,不更改 python版本(3.6.4)的情况下,如何优雅地使用pyinstaller且没有满屏的warning提示呢?

  小爬我经过一番摸索,终于找到了方法,pyinstaller提示找不到的这些dll文件,比如 api-ms-win-crt-runtime-l1-1-0.dll  其实 在win10系统中同样是存在的,大部分都在:C:\Windows\System32\downlevel路径和它的上层路径C:\Windows\System32 下,如下图:

我们只需要将这两个路径加入用户环境变量即可。

添加完环境变量后,pyinstaller再打包py文件时,会优先在这些路径查找,就可以成功打包了。PS:记得注销系统重新登陆后,方能生效!

再次打包,页面清爽多了,win10 X64下亲测有效!

  PS:需要注意的是,很多时候我们pyinstaller打包py文件虽然显示“成功”,但是真正运行exe文件,依旧会报错,诸如fail to execute script之类,终端界面往往一闪而过,我们肉眼很多时候甚至看不清具体原因!小爬有个笨方法——录屏。推荐一个好用的录屏软件Ocam。肉眼看上去一闪而过的提示信息会被录屏软件完整记录下来,形成mp4文件,我们再借助播放器的暂停功能,就可以定位到错误信息。以下是我执行时遇到的几个错误:

这个时候问题就简单了,比如,上面这两个图提示的是,一个找不到模块distuils,一个提示需要安装依赖库xlrd。我们将distuils文件夹从python文件位置对应的lib文件下找到,放到我们的python(env)对应的文件夹下即可,xlrd则直接用pip安装即可。

  ps:如果您要打包的是像我一样引用了pandas库的py文件,则程序中尽可能不要直接 import pandas as pd,这样打包后的exe文件非常大,可以考虑用到什么函数就引用什么函数,如:

from pandas import read_csv,read_excel,DataFrame,concat

  如果您在使用pyinstaller时有这类困扰,快用我的方法再试试吧!

pyinstaller打包py脚本Warning:lib not found等相关问题的更多相关文章

  1. PyInstaller打包python脚本的一些心得

    PyInstaller打包python脚本的一些心得 因为在公司经常要帮同事做一个从excel表格中提取出需要的内容的重复工作,比较繁琐还容易出错:于是就想着要写个程序,但是同事又不可能在电脑上也装上 ...

  2. pyinstaller打包.py程序为.exe操作指南

    pyinstaller打包.py程序为.exe操作指南 20190526内容纲要: 1.pyinstaller安装 2.程序封装 3.可执行程序 0 前言 今天第一次试试将一个py程序封装成一个.ex ...

  3. 使用pyinstaller打包.py程序

    使用pyinstaller打包.py程序 例如打包D:/Desktop 目录下的 filename.py 文件 打开 cmd 将目录切换至 D:/Desktop 输入命令 pyinstaller -F ...

  4. Pyinstaller打包Selenium脚本为exe文件执行问题

    由于同事辞职,许多运维工具的维护工作就交到我这里处理了,运维居然没人会Python脚本! 用Selenium编写的一个爬虫脚本cctv.py,需要给不懂软件的人运行.为了不让他去搭建,安装各种包,库, ...

  5. PyInstaller打包Python脚本为exe

    1.PyInstaller-3.1.1  百度云链接  http://pan.baidu.com/s/1jHYWin8 密码  oapl 2.安装最新版本的 pywin32-217.win32-py2 ...

  6. PyInstaller打包python脚本

    用python写的工具写好了,想打包然后发给测试同事使用,最后选择了PyInstaller,支持Windows.Linux.OS X,支持打包成一个文件夹或单个EXE文件.   我是直接在线安装的,在 ...

  7. 20.用PyInstaller打包py程序的步骤及问题解决

    最近写了一个移动和复制文件的代码,代码完成之后,想将其打包成一个可以在任何电脑上使用的软件, 于是在网上查找相关资料,可以用PyInstaller打包成.exe程序,以下是具体步骤: 1.安装PyIn ...

  8. pyinstaller打包py文件成exe文件时,出现ImportError: No module named 'pefile'错误解决办法!

    首先pyinstaller的安装与使用详见如下链接: 安装完成之后,命令行中输入pyinstaller之后,结果如下: ImportError: No module named 'pefile' 缺少 ...

  9. pyinstaller 打包selenium脚本 取消cmd

    更改源代码 找到文件(selenium->webdriver->common->service.py) 添加一个参数

随机推荐

  1. Android 高仿微信支付键盘

    现在很多app的支付.输入密码功能,都已经开始使用自定义数字键盘,不仅更加方便.其效果着实精致. 下面带着大家学习下,如何高仿微信的数字键盘,可以拿来直接用在自身的项目中. 先看下效果图: 1. 自定 ...

  2. Inventor安装失败怎样卸载重新安装Inventor,解决Inventor安装失败的方法总结

    技术帖:Inventor没有按照正确方式卸载,导致Inventor安装失败.楼主也查过网上关于如何解决Inventor安装失败的一些文章,是说删除几个Inventor文件和Inventor软件注册表就 ...

  3. 阿里开源!轻量级深度学习端侧推理引擎 MNN

    阿里妹导读:近日,阿里正式开源轻量级深度学习端侧推理引擎“MNN”. AI科学家贾扬清如此评价道:“与 Tensorflow.Caffe2 等同时覆盖训练和推理的通用框架相比,MNN 更注重在推理时的 ...

  4. et al.

    et al.   英 [ˌet ˈæl]   adv. <拉>以及其他人; [例句]Earlier research in conventional RCS modelling for d ...

  5. @topcoder - SRM697D1L3@ ConnectedStates

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 有n个城市,每个城市有个权值wi,任意两个城市i,j之间的道路数 ...

  6. H3C 802.11协议的发展

  7. Clipboard 自动复制功能,ios复制失败,换方案 user-select: text ;长按复制 (ios 兼容,长按复制)

    Clipboard 自动复制功能,嵌套app内跳转的页面,ios 自动复制失败(该ios机子,微信,浏览器打开复制没有问题) 暂时换方案    user-select: text ;长按复制 (ios ...

  8. Java反射机制(五):使用反射增强简单工厂设计模式

    关于简单工厂设计模式的讲解,可参考博文<设计模式: 简单工厂模式>,此处不再介绍:  我们先观察之前介绍的关于简单工厂: public class OperateFactory { pub ...

  9. Java反射机制(四):动态代理

    一.静态代理 在开始去学习反射实现的动态代理前,我们先需要了解代理设计模式,那何为代理呢? 代理模式: 为其他对象提供一种代理,以控制对这个对象的访问. 先看一张代理模式的结构图: 简单的理解代理设计 ...

  10. DOMjudge配置

    DOMjudge配置补充 系统环境为 Debbian GNU/Linux 9 (stretch) 64-bit 在Web server configuration中, ln -s etc/apache ...