从cx_freeze

时间:2017-11-07 10:08:36

标签: bash python-3.x opencv cx-freeze

我有一个使用OpenCV库的python文件。我希望将其作为可执行文件。

遇到这个cx_freeze

示例:

ABC.py(使用opencv库的文件)

setup.py的内容在下面给出

from cx_Freeze import setup, Executable

setup(  name = "ABC",
        version = "0.1",
        description = "Testing",
        executables = [Executable("ABC.py")],
)

我在终端

中运行了此命令
python setup.py install

显示此错误消息后停止

copying /Users/name/.virtualenvs/test/lib/python3.6/site-packages/cv2.so -> build/exe.macosx-10.12-x86_64-3.6/lib/cv2.so
copying /Users/name/.virtualenvs/test/bin/../lib/libopencv_reg.3.3.dylib -> build/exe.macosx-10.12-x86_64-3.6/libopencv_reg.3.3.dylib
error: [Errno 2] No such file or directory: '/Users/name/.virtualenvs/test/bin/../lib/libopencv_reg.3.3.dylib'

我从错误消息中知道找不到libopencv_reg.3.3.dylib。

我在python虚拟环境中运行它。 这是我的bash_profile内容

#Homebrew
export PATH=/usr/local/bin:$PATH

#export WORKON_HOME=$HOME/.virtualenvs

# Virtualenv/VirtualenvWrapper
source /usr/local/bin/virtualenvwrapper.sh
#export PROJECT_HOME=$HOME/Devel
#export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
#export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
#export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

我很困惑请帮我解决这个问题。 指导真的会有所帮助,如果这个问题可以在其他地方发布,让我知道而不是投票。

2 个答案:

答案 0 :(得分:0)

你可以在文件系统中搜索丢失的文件吗?当你找到它时,你可以设置PERL5LIB或使用-I开关将位置设置为perl路径

perl library path

答案 1 :(得分:0)

在OpenCV论坛上共享相同内容

这是我得到的回复there

看起来我们已经构建了OpenCV,使得其他共享对象(.so)文件不依赖。