Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyInstaller";无法执行脚本";错误_Python_Python 2.7_Compiler Errors_Exe_Pyinstaller - Fatal编程技术网

Python PyInstaller";无法执行脚本";错误

Python PyInstaller";无法执行脚本";错误,python,python-2.7,compiler-errors,exe,pyinstaller,Python,Python 2.7,Compiler Errors,Exe,Pyinstaller,我正在尝试使用PyInstaller创建一个exe文件,但是我无法这样做。该文件已生成并存放在dist文件夹中,但是当我尝试运行它时,会弹出错误“无法执行脚本{name}” 下面是我正在使用的.spec文件: #-*-模式:python;编码:utf-8-*- 分组密码=无 a=分析(['simulator.pyw'], pathex=['C:\\Simulator'], 二进制文件=[], 数据=[('bin/***.kv','./bin/ui'),('bin/***.xml','./bin/

我正在尝试使用PyInstaller创建一个exe文件,但是我无法这样做。该文件已生成并存放在dist文件夹中,但是当我尝试运行它时,会弹出错误“无法执行脚本{name}”

下面是我正在使用的.spec文件:

#-*-模式:python;编码:utf-8-*-
分组密码=无
a=分析(['simulator.pyw'],
pathex=['C:\\Simulator'],
二进制文件=[],
数据=[('bin/***.kv','./bin/ui'),('bin/***.xml','./bin/ui'),
hiddenimports=[],
hookspath=[],
运行时挂钩=[],
不包括=[],
win\u no\u Preference\u redirects=False,
win_private_assemblies=True,
密码=分组密码,
无存档=假)
pyz=pyz(a.pure,a.zipped_数据,
密码=分组密码)
exe=exe(pyz,
a、 剧本,
[],
exclude_binaries=True,
name='simulator',
debug=False,
引导加载程序\u忽略\u信号=False,
strip=False,
upx=真,
console=False,icon='bin\\ui\\icon.ico')
coll=COLLECT(exe,
a、 二进制文件,
a、 拉链,
a、 数据,
strip=False,
upx=真,
upx_exclude=[],
名称(模拟器)
这是控制台的输出:


有什么问题吗?

所以您使用的是Kivy,它记录了几个错误:

picamera - ImportError: No module named picamera
  File "c:\python27\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "c:\python27\lib\site-packages\kivy\core\camera\camera_picamera.py", line 18, in <module>
    from picamera import PiCamera

gi - ImportError: No module named gi.repository
  File "c:\python27\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "c:\python27\lib\site-packages\kivy\core\camera\camera_gi.py", line 10, in <module>
    from gi.repository import Gst

opencv - ImportError: No module named cv2
  File "c:\python27\lib\site-packages\kivy\core\__init__.py", line 63, in core_select_lib
    fromlist=[modulename], level=0)
  File "c:\python27\lib\site-packages\kivy\core\camera\camera_opencv.py", line 48, in <module>
    import cv2
picamera-导入错误:没有名为picamera的模块
文件“c:\python27\lib\site packages\kivy\core\\uuuu init\uuuu.py”,第63行,在core\u select\u lib中
fromlist=[modulename],级别=0)
文件“c:\python27\lib\site packages\kivy\core\camera\camera\u picamera.py”,第18行,在
从picamera进口picamera
gi-ImportError:没有名为gi.repository的模块
文件“c:\python27\lib\site packages\kivy\core\\uuuu init\uuuu.py”,第63行,在core\u select\u lib中
fromlist=[modulename],级别=0)
文件“c:\python27\lib\site packages\kivy\core\camera\camera\u gi.py”,第10行,在
从gi.repository导入Gst
opencv-导入错误:没有名为cv2的模块
文件“c:\python27\lib\site packages\kivy\core\\uuuu init\uuuu.py”,第63行,在core\u select\u lib中
fromlist=[modulename],级别=0)
文件“c:\python27\lib\site packages\kivy\core\camera\camera\u opencv.py”,第48行,在
进口cv2
您是否在requirements.txt文件中声明了kivy

还有

15333 INFO: Processing pre-safe import module hook   win32com
Traceback (most recent call last):
  File "<string>", line 2, in <module>
ImportError: No module named win32com
15411 INFO: Processing pre-safe import module hook   win32com
Traceback (most recent call last):
  File "<string>", line 2, in <module>
ImportError: No module named win32com
15333信息:正在处理预安全导入模块hook win32com
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
ImportError:没有名为win32com的模块
15411信息:正在处理预安全导入模块挂钩win32com
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
ImportError:没有名为win32com的模块
上面写着图书馆不见了(见)


那么,您是如何声明依赖关系的?我们需要查看您的项目结构。

您可以通过命令提示符启动脚本来检查完整的回溯

WIN
+
R
并写入
cmd
,然后使用
cd命令更改目录,直到到达文件夹,然后使用
\.exe
运行即可

例如:

> cd C:\softwares\test
> pwd
C:\softwares\test
> .\test.exe
根据经验,这可能是由
ModuleNotFoundError
引起的。如果这是问题所在,您可以将模块名称添加到规范的
hiddenimports
列表中


i、 e.:
hiddenimports=['pyodbc'],

问题似乎确实存在于Kivy()。我修改了.spec文件,成功构建了应用程序

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['simulator.pyw'],
             pathex=['C:\\Python27\\Scripts\\Simulator'],
             binaries=[],
             datas=[('./bin/ui/dynamic_classes.kv', './bin/ui/'), ('./bin/ui/main_layout.kv', './bin/ui/'), ('./bin/ui/text.xml', './bin/ui/'), ('./bin/ui/treatment_adaptive.kv', './bin/ui/'), ('./bin/ui/treatment_classic.kv', './bin/ui/'), ('./bin/ui/treatment_user.kv', './bin/ui/'), ('./bin/ui/icon.ico', './bin/ui/')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=True,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='simulator',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          clean=True,
          console=False, icon='bin\\ui\\icon.ico')
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               Tree('C:\\Python27\\share\\sdl2\\bin'),
               Tree('C:\\Python27\\share\\glew\\bin'),
               strip=False,
               upx=True,
               upx_exclude=[],
               name='simulator')