小爬从使用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. inflate用一个XML源填充view. LayoutInflater

    java.lang.Object     android.view.LayoutInflater This class is used to instantiate layout XML file i ...

  2. 2019-6-11-WPF-如何在应用程序调试启动

    title author date CreateTime categories WPF 如何在应用程序调试启动 lindexi 2019-06-11 09:32:35 +0800 2018-2-13 ...

  3. 00docker安装和简介

    Docker是用于开发.装载和运行应用的开放平台.Docker项目的目标是实现轻量的操作系统级虚拟化解决方案,它提供了一种在容器中安全隔离地运行应用程序的方式.可以在宿主机上运行多个容器. Docke ...

  4. @noi.ac - 170@ 数数

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 求有多少对 1 ∼ n 的排列 (a, b) 满足 \(m \l ...

  5. mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记

    mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...

  6. laravel 学习笔记blog后台

    https://github.com/almasaeed2010/adminlte composer require "almasaeed2010/adminlte=~2.0"

  7. Android ViewGroup点击效果(背景色)

    在开发Android应用的界面时,我们必然会用到本文ViewGroup,尤其是FrameLayout,LinearLayout,RelativeLayout等ViewGroup的子类: 在一些情况下, ...

  8. jQuery+css3实现极具创意的罗盘旋转时钟效果源码

    效果 HTML代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  9. H3C RIP路由表的维护

  10. P1058 车厢重组

    题目描述 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转.一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转 \(180\) 度,则可以把相邻两节车厢的位置交换,用这种方法可 ...