天道酬勤,学无止境

PyInstaller Problem

I created an exe version of my python program with pyinstaller. But When I try to run my app from that exe I get an error like this:

enter image description here

What may the problem be caused from?

Thanks in advance.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • python3.8与pyinstaller冲突问题解决
    安装pyinstaller 安装的时候 进入cmd pip install pyinstaller 发现安装报错! 解决办法: # 自主下载pyinstaller包,进行手动安装 pyinstaller 的下载地址:http://www.pyinstaller.org/downloads.html 下载文件后,解压文件。 cmd 进入解压的路径 输入: python setup.py install 等待一段时间,pyinstaller就会安装成功 Python项目生成可执行程序的步骤 选择一:Windows OS下进入cmd(命令行窗口) 输入:pyinstaller -F xx.py xxx.py … 选择二:在Pycharm IDE 终端下 输入:pyinstaller -F xx.py xxx.py … xx.py 和 xxx.py 是要打包的文件名 -F参数的含义是,将多个.py脚本文件打包成为一个可执行程序。 cmd 切换路径问题 进入cmd 先 进入D: 在进入D盘的某个文件夹就解决了! Pyinstaller 打包exe文件 取消dos窗口(黑框框) 在我们打包的时候:如果是直接指定python文件进行pyinstaller打包的话,需要添加–noconsole 方法一:pyinstaller -F mycode.py --noconsole 方法二
  • PyCharm安装使用pyinstaller的问题
    刚开始用的pip install pyinstaller 第一次安装时出现这个问题: Collecting pyinstaller Downloading https://files.pythonhosted.org/packages/e2/c9/0b44b2ea87ba36395483a672fddd07e6a9cb2b8d3c4a28d7ae76c7e7e1e5/PyInstaller-3.5.tar.gz (3.5MB) 7% |██▌ | 276kB 434kB/s eta 0:00:08Exception: Traceback (most recent call last): File "F:\Python\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\urllib3\response.py", line 302, in _error_catcher yield 感到莫名其妙,又尝试了一次 pip install pyinstaller Collecting pyinstaller https://files.pythonhosted.org/packages/e2/c9/0b44b2ea87ba36395483a672fddd07e6a9cb2b8d3c4a28d7ae76c7e7e1e5
  • PyInstaller generated exe not working, project uses ReportLab
    I'm trying to generate an exe for my project. It worked without problems about a month back when my project didn't use ReportLab, but now, not so much. After searching through, I found that the problem was a missing import in one of the pyinstaller files. Problem Solved right? Not exactly. Now I get this error... Traceback (most recent call last): File "<string>", line 18, in <module> File "F:\Python\pyinstaller-2.0\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in importHook mod = _self_doimport(nm, ctx, fqname) File "F:\Python\pyinstaller-2.0\pyinstaller-2.0\PyInstaller\loader\iu.py"
  • 【Pyinstaller】pyinstaller 打包出现几类错误的一般解决方法(不定时更新)
    笔者的错误如下: 1、pkg_resources.DistributionNotFound 在用pyinstaller打包(-D 选项)成功,执行打包后的exe报以下错误: 关键错误在最后一行: pkg_resources.DistributionNotFound: The 'google-api-python-client' distribution was not found and is required by the application 解决问题的方法为: 自己写个hook,然后放进pyinstaller的hooks里面即可。 创建一个hook-ctypes.macholib.py文件:(针对该类问题文件名都一样) 里面的内容如下:(google-api-python-client根据具体报错修改,其他内容一致) from PyInstaller.utils.hooks import copy_metadata datas = copy_metadata('google-api-python-client') 然后打包的时候,多加一句–additional-hooks-dir=., 笔者指令如下所示: Pyinstaller -D -i icon.ico --hidden-import=keras --hidden-import=tensorflow --hidden
  • python pyinstaller_总结Pyinstaller的坑及终极解决方法(小结)
    一. 首先要有个稳定环境 下面是博主经测试的觉得坑比较少的环境搭配 1.Python3.4 + PyQt5.4 + Pyinstaller3.2.1 2.Python3.5 + PyQt5.8 + Pyinstaller3.2.1 二. Pyinstaller遇到坑没必要换打包工具 博主好几次用Pyinstaller遇到坑时都有考虑换工具如py2exe或cx-freeze之类的, 依旧无法解决 (最后还是用pyinstaller解决了) 所以没必要换其他工具, pyinstaller就够了 三. 坑1: 打包不了, 连exe都生成不出来 解决方法 直接换Pyinstaller的版本, 即卸掉重装, 推荐用3.2.1 四. 坑2: exe生成了, 但是跑不了 大多数情况都是被坑在这里 解决方法 1.遇到这种问题不管弹出什么样的错误提示, 在输出exe时参数加个'-d'即debug模式, 然后打开的时候能看到打印的错误信息了, 这招很好用 2.留意一下程序依赖的一些资源文件, 检查下路径是否正确, 特别是程序里有相对路径的; 还有一些涉及到依赖系统默认资源的如默认字体啥的, 也得留意 3.换下打包方式, 如onefile模式和onedir模式 (之前出现过onedir打包可以但onefile打包不行的情况) 4.环境变量PATH中加上PyQt5的plugins的路径 5
  • PyInstaller 生成的 exe 不起作用,项目使用 ReportLab(PyInstaller generated exe not working, project uses ReportLab)
    问题 我正在尝试为我的项目生成一个 exe。 大约一个月前,当我的项目没有使用 ReportLab 时,它可以正常工作,但现在,没有那么多了。 搜索后,我发现问题是 pyinstaller 文件之一中缺少导入。 问题解决了吗? 不完全是。 现在我收到这个错误... Traceback (most recent call last): File "<string>", line 18, in <module> File "F:\Python\pyinstaller-2.0\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in importHook mod = _self_doimport(nm, ctx, fqname) File "F:\Python\pyinstaller-2.0\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in doimport exec co in mod.__dict__ File "F:\Python\pyinstaller-2.0\pyinstaller-2.0\myproject\build\pyi.win32\myproject\out00-PYZ.pyz\reports.My_Report_File", line 10, in
  • PyInstaller:单文件可执行文件不运行(PyInstaller: Single-file executable doesn't run)
    问题 我正在尝试使用pyinstaller从 Python 应用程序为 Windows 创建一个单文件可执行文件。 我从这里下载了pyinstaller的实验性 Python 3 分支(文件是 python3.zip,但链接现在已失效)。 我使用python setup.py install安装了它。 然后我创建了一个名为test.py的测试 python 脚本,内容如下: print('Hello, World!') 之后,我运行以下命令来创建一个单文件可执行文件: pyinstaller --onefile test.py 命令成功,我验证了文件dist/test.exe已经生成。 但是,当我尝试运行它时,我得到的只是一个空的控制台窗口。 什么也没有出现,程序也永远不会终止。 它永远挂在那里,直到我强行关闭它。 调用pyinstaller test.py (没有--onefile选项)工作正常。 那么,什么是问题呢? 请注意,使用py2exe或cx_freeze不是一种选择。 它必须是pyinstaller 。 更新:我刚刚在 Python 2 下测试过它(使用普通的 PyInstaller 版本),我遇到了同样的问题。 所以,这不仅仅是 Python 3 的问题。 回答1 我设法解决了这个问题。 我发现该程序确实运行了。 但是,它在显示Hello, World
  • Python 使用pyinstaller打包exe 文件太大问题解决办法
    原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去,导致打包生成的.exe文件体积过大。 解决办法 使用pipenv创建虚拟python环境,在虚拟环境中安装.py文件所用到的库(即py文件中import 的第三方库),然后在pipenv所创建的虚拟环境中使用pip安装打包所用到的pyinstaller。注意:本机安装过pyinstaller的也要重新进入虚拟环境中安装,不然会使用pyinstaller命令打包时,还是会生成大体积的.exe可执行文件。 具体步骤如下: 情况一:初次打包 1、在命令行(CMD)使用pip命令安装pipenv库,用于创建虚拟环境 pip install pipenv 2、新建一个准备当环境的文件夹,并cd进入该文件夹 3、建立虚拟环境 pipenv install 4、进入虚拟环境(以下操作皆为虚拟环境下的操作) pipenv shell 5、安装.py文件用到的模块 pip install 【.py用到的模块】 6、安装pyinstaller模块,用于打包.py文件 pip install pyinstaller 7、使用pyinstaller打包文件 pyinstaller -Fw E:\\pipenvtest\test.py(.py文件根据实际情况更改) -F 参数为 产生单个的可执行文件 -w 参数为
  • 类似pyinstaller_Python 打包工具对比,Nuitka vs Pyinstaller
    py2exe,Pyinstaller,Cx_freeze,Nuitka都可以完成python打包的任务。 Pyinstaller和Nuitka都号称跨平台,但其实顶多只能算是工具本身跨平台,实际体验中不仅打包产生的文件不能跨平台,能否成功打包本身也不确定。 Nuitka nuitka的作用是将python程序转换成C语言的可执行elf文件。这样在运行时就可以享受到C语言处理过程中的优化,提高速度。经测试,Nuitka打包后的exe比Pyinstaller打包后的exe运行速度提升30%,PyQT5的UI文件转换成py文件转换成C语言后,界面秒开呀。 安装: sudo apt-get install nuitka 使用: 假设有python文件 main.py 其中import了 a.py, b.py, c.py 转换为可执行文件只需运行: nuitka --recurse-all main.py 运行后会生成main.exe文件,注意main.py中import的文件会被自动包含。 输入下面代码即可执行 ./main.exe 但是有网友反馈了一些他的坑: 问题: 1.跨平台性很差 这点,上面的"python打包工具对比"中也谈到了。 具体在我使用时,在ubuntu中打包了一份python文件,拿到windows下运行,提示该版本的main.exe 与您运行的 Windows
  • python 3.5上带有tkinter应用程序的Pyinstaller的问题(Problems with Pyinstaller with tkinter app on python 3.5)
    问题 刚刚开始使用 Pyinstaller(并且有点使用 Tk 窗口)并且无法成功运行我的 tkinter Windows 应用程序(在 python 3.5 下)。 我可能正在做一些愚蠢的事情,但我已经尝试了我所知道的一切,我真的需要让它运行,所以非常感谢任何帮助。 请注意,我的所有代码都在正常的 python 3.5.1 和 3.5.3 下运行良好。 安装了最新版本的 PyInstaller (3.2.1) 并且它似乎运行正常。 我切换到以下简单的窗口“Hello World!” 应用程序,看看我是否可以让它工作, from tkinter import * root = Tk() root.title("Test Window") #Setup window widgets and place on window l1 = Label(root,text='Hello World!',font=("Verdana",18)) l2 = Label(root,text='Hello World!',font=("Times New Roman",9)) b1 = Button(root, text='Button 1', font=("Verdana",12), state=DISABLED) b1.pack() b1.place(x=220, y=180) l1.pack()
  • pyinstaller打包exe闪退问题
    在介绍闪退问题之前,先介绍一下我的问题是怎么来的: 【问题一】 在写完自己的Python项目之后,希望可以在Windows界面直接双击py脚本来运行程序,结果双击闪退,产生该问题的原因是: 我的项目中引用了图片,Python脚本中对该图片的调用采用的是相对路径,通过双击py脚本的方式需要将对该脚本的调用写成绝对路径的方式,修改成绝对路径后,该问题解决。 【问题二】继上个问题以后,我希望将我的项目放到其他机器运行,此时如果运行的电脑没有Python环境,双击py脚本的方式就不能满足该需求,于是,需要将项目封装成可直接在Windows运行的exe格式,我选择的是pyinstaller封装方式,我安装的环境不能连接互联网,所以采用离线安装的模式,要注意,离线安装同时需要安装pyinstaller的依赖包,加上本身共5个包,安装完后终于可以使用pyinstaller了,但是在封装过程中遇到了新的问题 【问题现象1】 pyinstaller -F xxx.py生成的单个exe文件,双击闪退,报错信息(脚本中引用的图片文件找不到),由于命令窗口闪退,看不清报错信息,所以用了录屏软件,后期逐帧查看,终于找到了报错信息 【问题原因】 pyinstaller -F xxx.py打包形式,默认只会打包py脚本,不包括引用的其他格式的文件(或者打包不全) 【解决方法】 修改打包路径下生成的spec文件,
  • 使用pyinstaller时缺少dll文件(Missing dll files when using pyinstaller)
    问题 再会! 我正在使用带有 qt5、pyqt5 和 sip14.8 的 python 3.5.2。 我也在使用最新的 pyinstaller 分支(3.3.dev0+g501ad40)。 我正在尝试为基本的 hello world 程序创建一个 exe 文件。 from PyQt5 import QtWidgets import sys class newPingDialog(QtWidgets.QMainWindow): def __init__(self): super(newPingDialog, self).__init__() self.setGeometry(50, 50, 500, 300) self.setWindowTitle("hello!") self.show() app = QtWidgets.QApplication(sys.argv) GUI = newPingDialog() sys.exit(app.exec_()) 起初,我曾经得到一些关于 crt-msi 的错误。 所以我重新安装了 SDK 和 C++ 运行时并将它们添加到我的环境中。 但是现在我不断收到有关缺少 dll 的错误(qsvg、Qt5PrintSupport) 6296 WARNING: lib not found: Qt5Svg.dll dependency of C
  • pyinstaller 打包问题汇总以及解决办法
    pyinstaller 使用很简单,大家无非就是用两种打包方式。 pyinstaller -D xxx.py 将项目打包成一个文件,或者 pyinstaller -F xxx.py 将项目打包成一整个exe文件,只有一个exe文件。 注意:xxx.py是你项目的主程序 我使用的是第一种方式,在此介绍可能遇到的问题 打包过程中遇到的问题: 首先升级你的pyinstaller升到最新版。 1、UnicodeDecodeError 这个问题是因为你的代码里应该是包含了中文字符,这个问题很好解决,只需在打包前输入: chcp 65001 之后再重新打包即可。 2、RecursionError 写过python递归程序的同学应该知道,python为了防止无限递归这个问题,设置了最大递归深度,当然这也会妨碍其他程序的正常运行。因此我们只需打开生成的 xxx.spec 文件,加入: import sys sys.setrecursionlimit(10000) # 设置一个比较大的值即可 之后再执行: pyinstaller xxx.spec 成功生成exe之后遇到的问题 此时,生成的exe文件往往会闪退,我们难以看到报错信息,有个小技巧就是把你的exe程序拖到你的cmd窗口运行,此时就可以查看具体的错误信息。如果少文件,就用pip安装即可,以下问题针对已经安装好所有的模块仍报错的情况。 1
  • Pyinstaller 在文件提取期间添加启动画面或视觉反馈(Pyinstaller adding splash screen or visual feedback during file extraction)
    问题 我使用 --onefile 参数使用 Pyinstaller 创建了一个单文件 python 应用程序。 一切都按预期工作,但在我的机器上启动时间约为 10 秒。 问题是在Pyinstaller包的文件解压过程中没有视觉反馈,所以你不知道应用程序是否正在启动,甚至你是否真的点击了图标。 如果机器很慢,这个问题会变得更糟(在我用一台非常旧的机器测试时,我需要将近 20 秒才能看到我的应用程序的第一次登录)有一种方法可以创建一些闪屏或视觉反馈(如进度条)在 Pyinstaller 引导序列期间在解包器上)? 请注意,问题是关于 Pyinstaller 解包过程,然后才执行真正的应用程序,而不是由已经拥有自己的启动画面的应用程序本身执行 谢谢 19.01.2018 - UPDATE1我的应用程序是完整的 GUI,所以我不想在解包过程中使用控制台作为“视觉反馈”。 回答1 我自己一直在与这个问题作斗争。 不幸的是,除了使用丑陋的控制台之外,没有可行的解决方案(完全同意)。 问题源于这样一个事实:在 PyInstaller 将所有文件解压到临时目录之前,不会运行任何脚本。 根据我的研究,无法使用 PyInstaller 中当前可用的选项来更改此功能。 如果 PyInstaller 背后的社区将其作为模块的标准功能,那将会很好,但在那之前我们可能不得不探索其他安装程序选项。 编程快乐!
  • Pyinstaller的报错的几种解决方法
    原文地址 提示框报错:failed to execute script 命令行报错:no module named 在你的 .py文件所在目录下的build/py文件名/warn-py文件名.txt中可以看到一些警告信息,多是一些missing module named xxx 我对比了一个成功了的和出错了的这个文件,发现上面基本上都一样的,只有这最后这部分,是这个出错的特有的,而我也确实在我的py文件中使用了docx这个模块,说明问题正出在这。 如果缺少的这个模块是你自己写的模块,而且是用的pycharm的编译器,一种可能的原因是路径的问题。 我在pycharm需要这样导入一个我自己写的函数 from application.video_format_convert.convert import convert 这样是从根目录一层一层找到我的函数再导入,但是这样写pyinstaller就会失败,大概它不会跑出当前文件的范围跑到更上好几层文件去找,会报no modle named ‘application’的错。然后我把convert.py拷到了同级目录下,通过这样的方式导入 from convert import convert 再pyinstaller就成功了,虽然这样写在pycharm编译器中是无法通过的。 引入不是自己写的包,找到一种这样的方案 一种方法是编辑
  • 安装pyinstaller第三方库方法以及常见问题总结和学习心得
    安装pyinstaller第三方库方法以及常见问题总结和学习心得 起初我只是想把自己用turtle画的小花发给朋友,但朋友电脑上没有python,所以我打算用pyinstaller把.py打包成.exe这样就可以在朋友电脑上直接运行! 一、pyinstaller的安装方法 1、使用pip联网下载,我们可以在cmd(或者在python安装路径上用powershell)输入下面这行命令 pip install pyinstaller 参考链接 这样的原理是从python官网上直接下载我们所需要的第三方库,但可能速度会非常慢,我们还可以使用国内的镜像服务器来安装下载 阿里云 http://mirrors.aliyun.com/pypi/simple/    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/    豆瓣(douban) http://pypi.douban.com/simple/    清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/    中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/ 例如:pip install pyinstaller -i https://pypi.douban.com/simple
  • Problems with Pyinstaller with tkinter app on python 3.5
    Just getting started with Pyinstaller (and somewhat with Tk windowing) and having trouble getting my tkinter windows app (under python 3.5) running successfully. I may be doing something stupid but I've tried everything I know and I really need to get this running, so any help is greatly appreciated. Just a note, all of my code runs fine under normal python 3.5.1 & 3.5.3. Have latest version of PyInstaller installed (3.2.1) and it appears to be running OK. I switched over to the following simple windowed "Hello World!" app to see if I could get this to work, from tkinter import * root = Tk()
  • Fixing SSL certificate error in exe compiled with py2exe (or PyInstaller)
    I've just finished testing a Python programme which involves logging into a site and requires a CSRF cookie to be set. I've tried packaging it as an exe using py2exe and got a socket error. I have the same problem when I try with PyInstaller. Googling the Errno I found a few other people with the same problem and so I know the problem is to do with the location of SLL certificates. This is my site_agent class including the logging calls. class site_agent: self.get_params() URL = root_url + '/accounts/login/' # Retrieve the CSRF token first self.agent = requests.session() self.agent.get(URL) #
  • 解决pyinstaller打包后的exe文件打开闪退的问题
    解决pyinstaller打包后的exe文件打开闪退的问题 闪退问题:一般我们打包完后的exe文件点击运行就会直接闪退,很难看到具体错误 解决步骤: 首先打开 cmd进入到 exe 文件所在目录(cd xxx 表示进入 xxx 目录;cd… 表示返回上级目录)运行 exe 文件,就会显示出错误我显示的是缺少模块,所以只需要在打包的时候加一个模块所在的路径即可,使用 -p 即可添加导入路径,首先找到缺少的模块所在的目录路径 a/b/c/d,然后在原来打包的语句: pyinstaller -F xxx.py 修改为 pyinstaller -F -p a/b/c/d xxx.py 即可,也可以添加多条路径,用 “;” 隔开即可: pyinstaller -F -p a1/b1/c1/d1;a2/b2/c2/d2;a3/b3/c3/d3 xxx.py 来源:https://zaizai.blog.csdn.net/article/details/111936071
  • pyinstaller和pyproj的问题(Issues with pyinstaller and pyproj)
    问题 我正在尝试使用pyinstaller做一个独立的应用程序。 可执行文件的构建很好,但是当我尝试使用库pyproj中集成的功能执行某些操作时,可执行文件崩溃。 该脚本可以在Pycharm上正常运行,所以我认为问题在于pyinstaller没有与pyproj的某种库链接。 我是否可以对spec文件做一些特殊的事情,或者在使用pyinstaller构建的独立应用程序上进行其他操作来指定pyproj? 这是我获得的错误: Traceback (most recent call last): File "<string>", line 6, in <module> File "C:\pyproj\build\main\out00-PYZ.pyz\pyproj", line 343, in __new__ File "_proj.pyx", line 85, in _proj.Proj.__cinit__ (_proj.c:1190) RuntimeError: no system list, errno: 2 这是我的“ main.py” #!/usr/bin/env python # -*- coding: utf-8 -*- import pyproj print pyproj.__version__ p=pyproj.Proj(init='EPSG:4326') 提前致谢 回答1