San*_*eev 49 python cmake python-2.7
我安装了2个版本的python,但是cmake使用的是旧版本.如何强制cmake使用新版本?
jad*_*ord 36
您可以尝试以下任何一种,具体取决于您的需求:
find_package( PythonInterp 2.7 REQUIRED )
find_package( PythonLibs 2.7 REQUIRED )
Run Code Online (Sandbox Code Playgroud)
请参阅:CMake文档
jpa*_*ugh 27
我遇到了类似的问题,并用保罗的答案作为暗示解决了这个问题.我需要用来python2.7
编译一个较旧的库,但cmake
不断拿起我的python3.2
库(和可执行文件).
首先,我cmake
使用默认选项运行,然后编辑CMakeCache.txt
它生成的文件.我这样做主要是因为我不知道正确的-D...
咒语导致cmake
获得python库并首先包含路径等.
在我看来CmakeCache.txt
,我找到了这样的台词
程序的路径
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python
Run Code Online (Sandbox Code Playgroud)目录的路径
PYTHON_INCLUDE_DIR:PATH=/usr/include/python3.2
Run Code Online (Sandbox Code Playgroud)图书馆的路径
PYTHON_LIBRARY:FILEPATH=/usr/lib/libpython3.2.so
Run Code Online (Sandbox Code Playgroud)和更换的每次出现python3.2
用python2.7
.我还必须重命名PYTHON_EXECUTABLE
使用python2.7
,因为python
是python3.2
我的系统上的符号链接.
然后我重申cmake
.因为它更喜欢它的缓存值来实际查找库,所以这应该适用于所有情况.至少,它确实在我的.
Pau*_*aul 26
尝试添加-DPYTHON_EXECUTABLE:FILEPATH=/path/to/python2.7
它可能是一个路径问题?
也可以指定python库的路径,使用你想要的版本:
cmake -DPYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib .
Run Code Online (Sandbox Code Playgroud)
小智 7
我使用anaconda(python 2.7.8)以及python 2.7.6.
我试过-DPYTHON_EXECUTABLE:FILEPATH=$ANACONDA_HOME/bin
,但1.4版本发现(奇怪:).
我的解决方案是将其更改为PYTHON_EXECUTABLE:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TIFF=ON \
-DPYTHON_LIBRARY=$ANACONDA_HOME/lib/libpython2.7.so \
-DPYTHON_INCLUDE_DIR=$ANACONDA_HOME/include/python2.7/ \
-DPYTHON_EXECUTABLE=$ANACONDA_HOME/bin/python
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47099 次 |
最近记录: |