如何设置python的默认库路径

新手上路,请多包涵

我正在使用 Centos 7.2 64 位。 python 的默认版本是 2.7.5。我安装了一个 anaconda 版本,它是 2.7.13。 python 的默认解释器设置为 2.7.13,因为我将 bin anaconda 的路径添加到 PATH 变量。但是,当我安装 opencv 时,我在执行 cmake 时收到此警告消息:

 Could NOT find PythonLibs: Found unsuitable version "2.7.5", but required is exact version "2.7.13" (found /lib64/libpython2.7.so)

似乎 python 库的默认路径是 /lib64/libpython2.7.so 。我搜索了解决方案,它说如果我设置环境变量 PYTHON_LIBRARY ,这将得到解决。所以我添加如下:

 export PYTHON_LIBRARY=/ghome/mypath/anaconda2/lib/libpython2.7.so

我重新登录。问题仍然存在。我的 cmake 命令如下:

 cmake -D BUILD_opencv_gpu=OFF -D WITH_CUDA=OFF -D WITH_1394=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/ghome/mypath/software/try_opencv/installed ..

我被困在这个问题上好几个小时了。谢谢大家帮助我!!!

原文由 pfc 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 937
2 个回答

来自 CMake 模块的 文档 FindPythonLibs

如果你想指定使用 Python 的安装,你应该修改以下缓存变量:

  • PYTHON_LIBRARY - python 库的路径
  • PYTHON_INCLUDE_DIR - 找到 Python.h 的路径

因为版本是从 patchlevel.h 头文件 中提取的(这是 Find CMake 模块的常见做法),您需要同时 指定库和包含目录

 cmake -DPYTHON_LIBRARY=/ghome/mypath/anaconda2/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR=<...> <other-cmake-arguments>

原文由 Tsyvarev 发布,翻译遵循 CC BY-SA 3.0 许可协议

除了:

 import sys
sys.path.append('/home/user/python-libs')

你没有提到操作系统,如果是 linux 那么你可以尝试搜索 sys.path 中列出的目录。

 import sys
print '\n'.join(sys.path)

因此 Python 将找到已安装到这些位置的所有包。 sys.path 使用当前工作目录填充,然后是 PYTHONPATH 环境变量中列出的目录,然后是安装相关的默认路径,这些路径由 site 模块控制。假设您的 PYTHONPATH 环境变量未设置,sys.path 将由当前工作目录加上站点模块对其进行的任何操作组成。

原文由 beachgreatsquaremoon 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题