首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pyinstaller EXE只能从CMD运行,单击EXE不起作用

基础概念

PyInstaller 是一个将 Python 脚本打包成独立可执行文件(如 Windows 的 .exe 文件)的工具。它允许用户在没有安装 Python 解释器的情况下运行 Python 应用程序。

相关优势

  1. 跨平台:PyInstaller 可以生成适用于不同操作系统的可执行文件。
  2. 独立运行:生成的可执行文件不依赖于外部 Python 环境,便于分发和使用。
  3. 资源管理:可以控制打包文件的大小和依赖项。

类型

PyInstaller 支持多种打包方式,包括单文件模式(--onefile)和多文件模式(默认)。单文件模式将所有内容打包成一个 .exe 文件,而多文件模式则生成多个文件和目录。

应用场景

适用于需要将 Python 应用程序分发给没有安装 Python 环境的用户,或者需要在没有 Python 环境的机器上运行 Python 应用程序的场景。

问题分析

PyInstaller 生成的 .exe 文件只能从命令行(CMD)运行,单击不起作用,通常是由于以下几个原因:

  1. 依赖项问题:某些依赖项可能没有正确打包到 .exe 文件中。
  2. 权限问题:文件权限设置不正确,导致无法通过单击运行。
  3. 配置问题:PyInstaller 的配置可能不正确,导致生成的 .exe 文件无法正常启动。

解决方法

1. 检查依赖项

确保所有依赖项都已正确打包到 .exe 文件中。可以使用 --hidden-import 选项显式指定隐藏的导入模块。

代码语言:txt
复制
pyinstaller --onefile --hidden-import=module_name your_script.py

2. 检查文件权限

确保生成的 .exe 文件具有执行权限。可以在命令行中使用以下命令设置权限:

代码语言:txt
复制
chmod +x your_script.exe

3. 检查 PyInstaller 配置

确保 PyInstaller 的配置正确。可以尝试使用 --noconsole 选项来隐藏控制台窗口,这在某些情况下可能会有所帮助。

代码语言:txt
复制
pyinstaller --onefile --noconsole your_script.py

4. 使用 pyinstaller--windowed 选项

如果应用程序是 GUI 应用程序,可以使用 --windowed 选项来避免显示控制台窗口。

代码语言:txt
复制
pyinstaller --onefile --windowed your_script.py

5. 检查 spec 文件

PyInstaller 生成的 .spec 文件包含了打包的详细配置。可以手动编辑 .spec 文件,确保所有依赖项和配置都正确。

代码语言:txt
复制
# your_script.spec
a = Analysis(['your_script.py'],
             pathex=['/path/to/your/script'],
             binaries=[],
             datas=[],
             hiddenimports=['module_name'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=None)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=None)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='your_script',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=False )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='your_script')

然后使用以下命令重新生成 .exe 文件:

代码语言:txt
复制
pyinstaller your_script.spec

参考链接

通过以上步骤,应该能够解决 PyInstaller 生成的 .exe 文件只能从 CMD 运行,单击不起作用的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Pyinstaller打包exe太大,运行太慢

1.背景 通过python使用pyqt编写了一个界面程序,并使用pyinstaller将其打包成exe文件 2.问题 打包的exe文件非常大,有280M,而且更无法忍受的是打开非常非常的慢!!!...会集成很多不必要的包,从而导致exe文件太大。...将文件拷贝到win7上,用python执行,会看到缺少各种包,再根据提示pip安装各种包即可,直到在win7上成功运行你的项目。...pip 安装pyinstaller,然后在你的项目下: pyinstaller -F XXX.py 成功之后在dist文件下会有XXX.exe文件 可以发现exe文件大大减小,而且打开也快多了!!!...(2)scipy打包出错 pyinstaller 在打包时,生成的exe文件无法打开,查看了一下错误,是因为scipy的原因。

3.6K20

pyinstaller打包exe(详细教程)

安装pyinstaller pyinstaller打包单个.py文件步骤 打包多个.py文件步骤 pyinstaller常用参数 结束语 为什么要打包?...1:当你想把你做的python游戏或者是脚本等.py文件发给别人时,打包为.exe文件,即使对方没有安装python也能运行 2:单纯想秀一下hhh 安装pyinstaller 安装pyinstaller...很简单,直接cmd使用pip命令即可 pip install pyinstaller pyinstaller打包单个.py文件步骤 使用之前做的时钟为例进行演示 1:单击以下区域输入cmd切换到目标文件目录....exe文件 点击即可运行 这样打包的单个文件就完成了,是不是so easy !!!...2:将依赖于主文件的其他文件移到dist文件夹中,点击打包好的exe文件即可运行 pyinstaller常用参数 -F 在dist中产生一个exe文件。

1.6K20
  • pyinstaller打包单文件时–uac-admin选项不起作用怎么办

    使用pyinstaller能很方便的将python脚本打包成单个exe文件。 但是最近有一个需求,打包出来的exe文件需要用管理员权限执行!...也就是双击exe文件运行时,需要弹出一个uac界面让用户授权。 于是我查找pyinstaller的官方文档,说是在打时包加上--uac-admin参数就行了!...先对它进行一次打包,直接在目录内打开cmd执行 pyinstaller -F --uac-admin test.py 来到dist目录可以看到打包好的exe文件 ?...然后再次打开cmd运行如下的打包命令: pyinstaller -F --uac-admin -r test.exe.manifest,1 test.py 可以发现比起之前的命令,我们加上了这个参数...到此这篇关于pyinstaller打包单文件时–uac-admin选项不起作用怎么办的文章就介绍到这了,更多相关pyinstaller –uac-admin内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持

    1.3K40

    cmd进入目录后怎样运行exe_命令提示符怎样进入文件所在目录

    如何用Windows命令提示符(cmd.exe)进入指定目录 一、Windows命令提示符是什么?...Windows 命令提示符(cmd.exe)是 Windows NT 及以后的 Windows 系统下的一个用于运行 Windows 控制面板程序或某些 DOS 程序的shell程序;或在 Windows...CE 下只用于运行控制面板程序的外壳程序。...二、使用步骤 1.打开命令提示符 以Win10为例: 同时按下Win10电脑键盘上的“Win”+“R”组合按键,先打开Win10的运行程序。...(“Win”键在“Ctrl”和“Alt”之间) 在“运行”程序窗口中,输入:cmd ——点击“确定”或者按键盘上的“Enter”键。然后就可以打开Win10的cmd命令提示符窗口。

    2.9K20

    Pyinstaller打包exe附带图片的方法

    ---- 2018.10.13附加 原来下面这个方法是把图片存到绝对路径了(存同文件夹是相对路径……),所以放哪都能用……现在没卵用,我再去找方法吧…… pyinstaller打包运行报错failed...pyinstaller -F test.py 打包python 加icon 去掉cmd黑窗口 https://blog.csdn.net/frank_good/article/details/60962012...(接下来的文件名都参照这个) 然后cmd到这个目录,(我是当前文件夹直接按住shift+右键,单击“在此处打开powershell窗口”,效果一样还方便) 在cmd里输入 : pyi-makespec...不是将代码编译,而是将脚本弄成可以执行的文件,所以别想能打包后程序变快”,由此猜想到“图片需要完整路径,spec文件里也要写上完整路径,这样就能让这个exe‘接轨’运行起来” 开始改spec文件: 方法有参考...完成后应当是这样的(FP.exe是从dist文件夹复制出来的,【dist文件夹内就是打包好的exe】) 那个exe,离开了图标所在的文件夹可能会变回原来的默认图标,一会儿后会恢复…… 但是无论如何,可以脱离图片运行

    2.5K20

    如何把python文件打包为可执行程序exe

    但是对于不懂Python的人,如果直接发python文件,想要运行起来还是比较难的,如果能把python文件打包为可执行文件exe,在windows系统上双击就可以运行,那将极大地方便人们去使用。...那我们如果要把python文件打包为exe可执行文件,有没有这样的库呢?回答是肯定的。 我们使用第三方库pyinstaller去打包python文件。...下面我们就介绍下如何使用pyinstaller打包Python文件? 1. 安装pyinstaller第三方库 pip install pyinstaller 2....-F -w -i 16.ico -n active get_register_code.py 我么来介绍下用到的参数 -F 指定打包后生成一个exe格式的文件 -w 不显示windows cmd窗口...(因为我们是个GUI程序,不需要显示cmd窗口,就是windows那个丑丑的黑色cmd窗口) -i 更换打包后exe文件的显示图标,后面跟你需要替换成的图标文件 -n 指定打包为exe的文件名字,后面跟你你想要的

    6.2K40

    python代码能做成软件吗

    pyinstaller-F-wsome.py -F与-w的含义: -F:将所有内容全部打包成一个exe可执行文件,而不会有其它的一些奇奇怪怪的小依赖文件。...-w:运行生成的exe文件时,不会弹出命令行窗口,我们自己写了窗口才可以否则无法运行运行完之后,桌面上就会弹出一个dist文件夹,然后里面就是一个exe文件了。双击即可。...内容扩展: 如何将编写好的python程序生成可执行的.exe或者APP?...首先确认安装好pyinstaller和py2app,安装方法: pipinstall pyinstaller pip install py2app cmd进入Windows窗口的命令行,cd进入project...Windows程序生成: pyinstaller-F -w testdata.py() 在pyinstaller 与.py文件名中可以输入一下指令指定输出配置功能如下: -F 指定打包后生成一个exe

    1.1K21

    手把手教你把Python代码转成exe

    pyintsaller包 第一步安装将Python代码转成exe的工具包--pyinstaller:需要打开cmd,然后在cmd里输入一行命令即可 pip install pyinstaller 如果觉得安装太慢...中加入国内镜像下载工具包命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller 2.在cmd里输入打包成exe...的命令 安装好pyinstaller工具包后,首先要在cmd里跳转地址到Python代码所在的文件地址,然后输入以下命令,即可将Python代码转成exe,并生成一个名为dist的文件夹,在文件夹中可以找到刚打包完成的...-n 重新命名 --noconsole 去掉cmd命令窗口 -i 加入图标,图标需要是ico格式 打包举例:1.打包时候修改文件名,2.运行时候不显示命令窗口,3.改变游戏图标 pyinstaller...原因:打包的源码或环境有问题 解决办法:打包成有命令窗口的exe,并将execmd运行运行不成功会显示报错信息,然后根据报错信息修改 3.2 打包后的文件太大怎么办?

    3.5K10

    python 生成exe文件

    在windows下,可以使用pyinstaller打包python程序为exe可执行程序。...1、安装pyinstallercmd命令行窗口运行以下命令安装pyinstaller pip install pyinstaller 2、打包python程序 在python程序所在目录,执行以下命令...) -w 是程序运行时不显示cmd界面 -i 修改生成的exe文件图标,可以不写(-i 不写的话 ico_path也别写) ico_path 是生成的exe文件图标位置 py_path 是目标py文件位置...3、运行exe文件 打包完成后,在对应目录会出现build和dist文件夹,exe文件就出现在dist文件夹,直接运行即可。...改为安装pyinstaller 5.2、exe点开之后就出现failed to execute script xxx 存在中文路径 使用pyinstaller时使用了-w命令与print冲突 5.3、反复运行本身

    1.8K10

    Python学习笔记(15)-Python代码转换为exe可执行程序详解

    制作exe 3.1 编写python文件 3.2 将代码文件放至pyinstaller目录 3.3 制作exe 3.4 查看并运行exe 4. 兼容性问题 5. 其他方法制作exe 1....然后在CMD命令行进入Python3.6目录下的Scripts目录并执行:python pywin32_postinstall.py -install命令如图: 2.5 安装PyInstaller...在CMD命令行中进入D:\Python\pyinstaller-pyinstaller目录,然后执行:python setup.py install,最后出现如下图字样表示成功。...3.3 制作execmd命令行进入该目录,并执行命令:python pyinstaller.py -F hello.py 3.4 查看并运行exe 生成了一个新目录D:\Python\pyinstaller-pyinstaller...最后,双击运行hello.exe,大功告成! 4. 兼容性问题 注意因为我的Python3.6是64位版本的,所以打包出来的exe在32位系统上运行有问题。

    66220

    打包成exe啊!

    不过PC可以运行exe文件,这就为我们提供了一个变通的途径:将Python程序打包成exe文件。这样,对方就不需要自己配置Python环境,直接运行exe文件即可。...pyinstaller打包机制 我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到...即使我们的项目使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。...1、我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F setup.py,如下图所示。 ?...在dist里面呢,就有了一个exe程序,这个就是可执行的exe程序,如下图所示: ? 2、我们把这个setup.exe拖到和setup.py平级的目录,我们来运行一下这个,效果图如下图所示。 ?

    8.8K41

    Pinstaller(Python打包为exe文件

    在 prompt 中运行 pip install pyinstaller , 安装 pyinstaller 库 ? 2. 在 prompt 中运行 where pyinstaller ? 3....在 cmd 中输入 pyinstaller -F 文件名 例子:打包 Python 绘制皮卡丘的视频,在cmd中输入 pyinstaller -F pkq_1.py 即可生成普通图标的exe可执行文件...生成 exe 文件 可以在路径 C:\Users\Administrator\Anaconda3\Scripts 下的 dist 文件夹中找到打包好的exe文件(即不用安装 Python 也可以运行的文件...生成自定义形状的图标,在cmd中输入:pyinstaller -i ico路径 -F xxxxx.py 例子: 打包 Python 绘制皮卡丘视频的py文件,在cmd中输入 (注: 我把ico图标和待打包文件放到一个文件夹下了..., 所以直接输入了ico的名字) pyinstaller -i pikaqiu2.ico -F pkq_1.py 生成图标是皮卡丘形状的exe文件 ?

    1.1K40

    python基础之tuple库实现我爱你

    接下来我们就来讲讲具体怎么做,才能在女朋友的电脑上运行吧,这次不讲tuple怎么使用,从代码写好后如何在exe文件中运行说起。...二、实现效果   我们会生成一个exe文件,发送到其他电脑上,直接打开该exe文件就能够运行。   运行之后我们就能够看到这个图形。...到达我们开发的loveyou.py文件所在目录,打开cmd命令行执行下面命令   1、安装pyinstaller库 pip install pyinstaller   2、执行命令将.py文件转换为exe...(1)这里介绍一下我们用到的参数变量。...参数含义-Fexe作独立的可执行程序-w执行时不显示cmd窗口 pyinstaller -F -w loveyou.py   当前目录下的就能找到一个exe文件,你只需要发给你女朋友就可以了,她可以运行出来的

    75720

    Python打包exe文件方法汇总【4种】

    “乔治是世界上最后一平塔岛象龟,而我是世界上最后一个源家后裔,最后一平塔岛象龟应该为了种族不灭努力地繁殖后代,最后一个源家后裔应该重振家族在黑道中的威望,但是乔治只是想回自己的水坑里去打滚,而我只是想去天体海滩上卖防晒油...优点: 可以把python打包成exe 缺点: 打包好的 exe只能在相同的系统下运行,比如你在XP系统用py2exe打包好的exe只能在XP上运行,在win7上肯定有问题,而且也是存在在别的XP机子上也可能不能运行...窗口下运行: python setup.py py2exe py2exe使用方法 (含一些调试技巧,如压缩email 类) pyinstaller PyInstaller除了win32平台外还支持Linux...打包完成后,在当前目录下有个dist文件夹,进入dist下的test1文件夹,然后打开cmd运行这个exe,我们就会发现: 提示: no model named ‘pymysql’ 这是怎么回事呢?...加上–base-name=Win32GUI可以在运行exe时去掉cmd黑框。

    2.7K10

    Python打包成exe可执行文件

    在项目上,帮财务开发了一个小工具,但财务不会用python,需要帮忙打包成exe可执行文件。目前比较常见的打包exe方法都是通过Pyinstaller来实现的,本文也将使用这种常规方法。...安装Pyinstaller 安装Pyinstaller,直接在cmd使用pip命令 pip install pyinstaller 如果网速太慢可以切换国内源来加速 pip install -i https...已经生成了一个名为changename的exe应用程序, Pyinstaller参数详解 Pyinstaller -F -w -i tu.ico changename.py 解释一下其中Pyinstaller...Python打包exe,不但体积大而且运行奇慢。解释型语言大都是这个样子,只不过Python尤其突出。要解决大而慢,只能用编译型语言,如C,C++,甚至VB都好很多,体积最小的是汇编。...所以我们可以模拟一个新环境,其中安装我们本次打包所必要的工具包即可。 那最适合的就是——虚拟环境了!

    1.1K30

    别再问我Python打包成exe了!(终极版)

    这个时候如果将脚本打包成exe文件,微信发送给她,即使她的电脑上没有安装Python解释器,这个exe程序也能在上面运行。岂不美哉? ?...(当然,想通过帮安装Python跟小姐姐建立感情的话,就当我没说) 安装Pyinstaller 首先我们要先安装Pyinstaller,直接在cmd使用pip命令 pip install pyinstaller...1、cmd切换到我们刚刚放文件的目录 ? 2、执行命令Pyinstaller -F -w -i chengzi.ico py_word.py,执行过程特别漫长,就没有录制动图。...打包exe后执行 成功运行,可惜就是文件有点大(339M) ?...Pyinstaller打包步骤 这里就不再重复了,换个苹果图标试试 Pyinstaller -F -w -i apple.ico py_word.py ? 生成 ?

    19.7K40

    你需要的Python打包exe指南来了

    其实最简单的办法就是把.py源文件,打包成可执行程序员exe文件,别人直接双击exe文件就可以运行了。...python实现打包exe有很多方案,主要有py2exe、cxfreeze、PyInstaller三种,py2exe和cxfreeze的安装过程比较麻烦,且对高版本python支持不好,虽然pyinstaller...常用参数 -h 查看帮助 -w 忽略控制台,打包gui软件时使用 -F dist目录中生成一个exe文件 -p 表示你自己定义需要加载的类库的路径 -D 创建dist目录,里面包含exe以及其他一些依赖性文件...(默认,可不添加) -i 指定打包程序使用的图标文件 命令使用: 使用cmd进入到项目文件夹,执行如下命令: pyinstaller -i ico.png -F -w demo.py 打包案例 可以使用自己的编写的...打包和执行exe文件的过程中,需要关闭杀毒软件。 4. win10 64位打包成exe文件后,不能在32位系统运行,安装32位python打包才可以。 原创不易,觉得有用,记得点个赞。

    2.8K21

    三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

    但是我们都知道,PC是可以直接运行exe文件的,这就为我们提供了一个便捷的方式。所以,从看了这个教程以后,这都将成为过去式,打成exe之后,分享即可用。.../3 pyinstaller打包机制/ 我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,...即使我们的项目使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。...1、我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F setup.py,如下图所示。 ?...3、在dist里面呢,就有了一个exe程序,这个就是可执行的exe程序,如下图所示。 ? 4、我们把这个setup.exe拖到和setup.py平级的目录,我们来运行一下这个,效果图如下图所示。

    12.1K20
    领券