【问题标题】:Dynamic Shared Library error when creating exe from cx_freeze从 cx_freeze 创建 exe 时出现动态共享库错误
【发布时间】:2017-11-24 21:14:47
【问题描述】:

我有一个使用 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'

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

【问题讨论】:

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


    【解决方案1】:

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

    perl library path

    【讨论】:

      【解决方案2】:

      在 OpenCV 论坛上分享了相同的内容

      这是我收到的回复there

      看起来我们已经以其他共享对象(.so)文件不依赖的方式构建 OpenCV。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-04
        • 2012-04-07
        • 2015-06-28
        相关资源
        最近更新 更多