我不得不在ubuntu16.04上为Python手工编译一个库/模块,结果遇到了问题。图书馆在这里:
它是OpenCV的一个大小量词。问题是在运行命令时:
cmake /home/cooper/diplib-master/ -DCMAKE_INSTALL_PREFIX=$HOME/dip -DPYDIP_INSTALL_PATH=$(python3 -m site --user-site)
如说明中所述,它在路径/home/cooper/.local/lib/python3.5/site-packages/PyDIP/PyDIP_bin.so
中构建文件。当我使用python3 my_program.py
运行我的代码时,我得到一个错误:
undefined symbol: _Py_ZeroStruct.
我试着用默认路径(我的系统是python2.7)和零结构错误dissapears编译它,但是由于代码是为python3编写的,它不能按预期工作(importlib的get import errors)。所以我的问题是如何将Python或Ubuntu指向.local文件路径,以便它知道在哪里可以找到编译的代码?或者,如果我完全错了,如何正确地编译这些代码以在我的系统上工作?我一直在读关于环境变量和系统路径的书,但我不认为我理解得足够透彻,以至于最终不会对我的电脑造成破坏。你知道吗
PyDIP CMake脚本在构建时应该更喜欢python3而不是python2,您可以尝试拉取最新的
master
,看看这是否会给您带来更好的运气。你知道吗如果这不起作用,你可以添加
到CMake命令,以指定以哪个版本的Python为目标。你知道吗
相关问题 更多 >
编程相关推荐