Python 如何构建包含cv模块的exe文件

Python 如何构建包含cv模块的exe文件,python,opencv,camera,py2exe,pyinstaller,Python,Opencv,Camera,Py2exe,Pyinstaller,我正在写一个简单的安全摄像头程序 我使用该代码访问摄像机: import cv camera = cv.CaptureFromCAM(0) 我尝试了.py文件。成功了。但是,当我编译并运行exe文件时,我无法访问摄像头。程序没有反应。在.py文件中,我可以从标题为“视频源”的窗口中选择相机 我认为这个问题与访问权限有关 之后,我通过VisualStudio2010的“调试”功能打开了exe文件。我得到了警告: Unhandled exception at 0x02691fcb in secur

我正在写一个简单的安全摄像头程序

我使用该代码访问摄像机:

import cv
camera = cv.CaptureFromCAM(0)
我尝试了.py文件。成功了。但是,当我编译并运行exe文件时,我无法访问摄像头。程序没有反应。在.py文件中,我可以从标题为“视频源”的窗口中选择相机

我认为这个问题与访问权限有关

之后,我通过VisualStudio2010的“调试”功能打开了exe文件。我得到了警告:

Unhandled exception at 0x02691fcb in security_camera.exe: 0xC0000005: Access violation writing location 0x00000000. 
顺便说一下,我从“输出”选项卡中获得了这些输出:

顺便说一下,当我打开exe文件(程序)时,它会在3-4秒内关闭

我怎样才能解决它?谢谢

注: 我的python版本:2.7.3

我正在使用Windows 7(32位)

编辑:

我通过py2exe构建了exe文件

我的setup.py是:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True, 'includes': 'numpy'}},
    windows = [{'script': "security_camera.py"}],
    zipfile = None,
)

请尝试使用py2exe,而不是
py2exe

以下是一些简单的说明:

1) 安装pyinstaller。如果您有
pip
,它就这么简单:

pip install pyinstaller
2) 创建可执行文件:

pyinstaller --onefile <your python script>
pyinstaller--onefile

@Antonio I通过添加

导入numpy

我的脚本的行。我通过pyinstaller构建了exe。我打开了exe文件。但是,它什么也没做。它只是等待


我该怎么办?

我用py2exe构建了它。我的安装文件是:从distutils.core导入安装程序导入py2exe,sys,os sys.argv.append('py2exe')安装程序(选项={'py2exe':{'bundle_files':1,'compressed':True,'includes':'numpy'},windows=[{'script':“security_camera.py”}),zipfile=None,)不相关的,但您应该使用cv2而不是不推荐的cv moduleBut,我使用了互联网上的代码。我从网上找到的。在来自互联网的代码中,程序员(编写这些代码的人)使用了cv模块。cv的用法和cv2的用法是不同的,我不知道如何将这些代码转换成cv2。只知道,这个api在opencv3.0中被删除了。我已经尝试过了。但是,它不起作用。当我打开它时,出现了错误:ImportError:numpy.core.multiarray无法打开import@python_pardus谷歌搜索这个错误会得到几个结果,我不知道它们是否与你的案例有关。但我会尝试这样做,导入错误可能比seg错误更容易解决。对不起,“seg”是什么意思?我不是本地人。@python\u pardus是本地人也没用:)这是“分段”的缩写,Visual Studio似乎报告您试图访问地址
0x00000000
处的内存,该地址不是有效地址。确定。我得到了它。如何解决seg故障?如果我使用pyinstaller时没有错误(ImportError:numpy.core.multiarray导入失败),我可以解决它。
pyinstaller --onefile <your python script>