gpt4 book ai didi

Python+OpenCV+py2app : numpy. core.multiarray导入失败

转载 作者:太空宇宙 更新时间:2023-11-03 21:09:16 24 4
gpt4 key购买 nike

环境:mac os x 10.7.5、xcode 4.2.1、python 2.7.5、opencv 2.4.7、py2app 0.7.3

我正在尝试使用 py2app 打包一个简单的基于 opencv 的 python 脚本,但构建的应用程序崩溃并出现错误,提示 ImportError: numpy.core.multiarray failed to import

这是名为 demoApp.py 的 python 脚本

import cv2
capture = cv2.VideoCapture(0)
winName = 'eyeDetection'
cv2.namedWindow(winName)

# Press esc key to exit
keyPressed = -1
while(keyPressed != 27): # ord('esc') is 27
unused_retval, img0 = capture.read()
img1 = cv2.cvtColor(img0, cv2.COLOR_BGR2GRAY)

cv2.imshow(winName, img1)
keyPressed = cv2.waitKey(1)
cv2.destroyAllWindows()

demoApp.py 从 eclipse+pydev IDE 启动时按预期运行。

我创建了 setup.py 文件:

py2applet --make-setup demoApp.py

内容如下:

"""
This is a setup.py script generated by py2applet

Usage:
python setup.py py2app
"""

from setuptools import setup

APP = ['demoApp.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True}

setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)

然后我构建应用程序:

python setup.py py2app

运行该应用程序会导致其崩溃并出现上述 ImportError。

我删除了 build 和 dist 文件夹并尝试以“别名”模式构建应用程序:

python setup.py py2app -A

然后,当我运行该应用程序时,它会按预期运行。所以我不明白为什么独立应用程序在构建分发时无法运行。

请帮我弄清楚如何处理这个问题。另外,demoApp.app 是 50Mb,如何减小它的大小?

最佳答案

虽然我还没有找到合适的解决方案,这个问题可能是由于 64 位 python27 和 32 位 numpy 可计算性问题引起的,但快速解决方法是在导入 cv2 之前在 demoApp.py 脚本中 import numpy .

在使用 PyInstaller 之后demoApp.app 文件现在是 6Mb 而不是 py2app 而不是 50Mb :D

尽管通过 PyInstaller 生成的应用在没有上述解决方法的情况下也出现了同样的问题。

关于Python+OpenCV+py2app : numpy. core.multiarray导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com