创建 exe 文件时,Py2exe 元组索引输出 pf 范围问题



我有使用Opencv库的python程序。我想在不安装 python 本身的情况下在 Windows 操作系统上运行这个程序。所以,我做了一些研究并找到了Py2exe,但我在使用它时遇到了问题。 这是我的python代码:

import cv2
import os

# Custom Car Cascade Classifier
car_cascade = cv2.CascadeClassifier("Custom-Car-Cascade.xml")
#Get Test Images Folder From Current Running Path
directory = 'TestImages'
print(directory)
for file in os.listdir(directory):
if file.endswith(".jpg"):
#Red Image Into img
img = cv2.imread(directory + "/" + file,cv2.IMREAD_COLOR)
#Get Detected Cars Point On Image
cars = car_cascade.detectMultiScale(img,1.4,10)
for(x,y,w,h) in cars:
#Draw Rectangle 
cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,0),2)
#Creat Window
cv2.namedWindow("output", cv2.WINDOW_NORMAL)
#Resize Image
resized = cv2.resize(img, (800, 600))
#Show Image
cv2.imshow("output",resized)
k = cv2.waitKey() & 0xff
if(k == 27):
break
cv2.destroyAllWindows()

这是我setup.py文件:

from distutils.core import setup
import py2exe, sys, os, cv2
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed':     True,'includes':'cv2'}},
windows = [{'script': "carDetection.py"}],
#data_files=[("TestImages", "TestImages/*.jpg")],
zipfile = None,
)

每当我使用 python setup.pypy2exe命令或只是简单地运行setup.py时,我都会收到以下错误

回溯(最近一次调用): 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\Program1\setup.py",第 10 行,在 压缩文件 = 无, 文件"C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\distutils\core.py",第 148 行,正在设置 dist.run_commands() 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py",第 955 行,run_commands self.run_command(厘米) 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py",第 974 行,run_command cmd_obj.run() 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\distutils_buildexe.py",第 188 行,正在运行 self._run() 文件"C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\distutils_buildexe.py",第267行,_run builder.analyze() 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\runtime.py",第 158 行,在分析 self.mf.import_package(模组名称[:-2]) 文件"C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\mf3.py",第92行,import_package self.import_hook(名称) 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\mf3.py",第 120 行,import_hook 模块 = self._gcd_import(名称) 文件"C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\mf3.py",第274行,_gcd_import 返回self._find_and_load(名称) 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\mf3.py",第 357 行,_find_and_load self._scan_code(模块。代码,模块) 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\mf3.py",第 388 行,_scan_code 为了什么,self._scan_opcodes(代码)中的参数: 文件 "C:\Users\Hadi\AppData\Local\Programs\Python\Python36-32\lib\site-packages\py2exe\mf3.py",第 417 行,_scan_opcodes 产量"存储",(名称[oparg],) 索引错误:元组索引超出范围

尝试添加以下行:

import numpy

在脚本的顶部。有时未检测到 numpy 依赖项

最新更新