我有2个版本的python安装,但cmake正在使用旧版本。我如何强制cmake使用较新的版本?我有2个版本的python安装,但cmake使用的是旧版本。我如何强制cmake使用新版本?
回答
尝试添加-DPYTHON_EXECUTABLE:FILEPATH=/path/to/python2.7
这可能是一个路径问题?
也可以指定路径到您的Python库,用你的版本要:
cmake -DPYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib .
请注意,至少对于Ubuntu 16上的cmake 2.8。04,你需要设置-DPYTHON_LIBRARY而不是-DPYTHON_LIBRARIES – phiresky 2017-01-24 03:40:57
我也有类似的问题,并使用Paul's answer作为提示解决它。我需要使用python2.7
编译一个较旧的库,但cmake
不断提取我的python3.2
库(和可执行文件)。
首先,我用默认选项运行cmake
,然后编辑它生成的CMakeCache.txt
文件。我这样做主要是因为我不知道正确的-D...
咒语导致cmake
获得python库和包括路径,等等在第一位。
在我CmakeCache.txt
,我发现这样的
路径行程序
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python
一个目录路径
PYTHON_INCLUDE_DIR:PATH=/usr/include/python3.2
路径库
PYTHON_LIBRARY:FILEPATH=/usr/lib/libpython3.2.so
,取而代之的python3.2
每一次出现python2.7
。我还必须将PYTHON_EXECUTABLE
重命名为使用python2.7
,因为python
是我系统上的python3.2
的符号链接。
然后我reran cmake
。因为它更喜欢它的缓存值来实际查找这些库,所以这应该适用于所有情况。至少,它在我的。
这是对我有用的。提供cmake环境变量不起作用。编辑CmakeCache文件的确如此。与反正更容易工作 – JohnAllen 2016-06-10 16:52:00
您可以尝试以下任一取决于你需要什么:
find_package(PythonInterp 2.7 REQUIRED)
find_package(PythonLibs 2.7 REQUIRED)
参见:CMake docs
很好地工作,也使用特拉维斯。 – 2016-03-18 14:04:43
太容易了......我觉得很愚蠢。 – dividebyzero 2016-05-09 09:55:30
https://cmake.org/cmake/help/latest/module/FindPythonInterp.html 建议换行 – sercxjo 2017-09-26 09:25:32
我使用Anaconda(蟒蛇2.7.8),以及蟒蛇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
对于anaconda特别是,这对我有用(并希望更容易概括):https://github.com/jkhoogland/FindPythonAnaconda(尽管我必须做两个小小的更改 - 它们都在我的GitHub分叉if上游也不适合你) – 2017-09-13 01:04:03
- 1. 强制python使用旧版本的模块(比我现在安装的版本)
- 2. cmake的错误:指的是旧的版本,即使升级到新的版本
- 3. 在安装时有cmake检查版本
- 4. 如何强制CMake使用正确的OpenCV版本?
- 5. 使用旧版本numpy的,甚至有一个较新的版本中安装
- 6. 使用cmake进行库版本控制
- 7. CMake项目使用本地g ++版本
- 8. 使用CMake版本3.5.2的OpenCV与CMake 2.X.X
- 9. 将安装新版本的Python与旧版本冲突
- 10. Maven的:版本:更新父随后安装安装旧版本
- 11. 如何安装较旧版本的python
- 12. 如何删除Java的旧版本,然后安装新版本
- 13. 如何卸载较新版本的java并安装旧版本?
- 14. 如何在Mac中安装PHP?我有新版本和旧版本。 。:(
- 15. CMake使用特定的Boost版本
- 16. Cmake使用编译的OpenCV版本
- 17. 如何强制Apache使用最新安装的PHP版本
- 18. 强制cmake使用特定的OpenCV版本
- 19. 旧版Ruby版本在安装最新版本之后显示
- 20. 如果我安装了多个版本,如何更新我的Ruby版本?
- 21. Cocoapods - 在使用最新版本后使用旧版本的pod版本
- 22. 安装新版本的python
- 23. 如何强制iPython使用旧版本的Python?
- 24. 如何强制iPython使用旧版本的Python?
- 25. 如何在安装旧版本的同时使用新的Python安装?
- 26. 如何让msi安装程序在较新的版本上安装旧版本?
- 27. 安装旧版本的firefox
- 28. 安装旧版本的Cygwin
- 29. 安装旧版本的gcc
- 30. 如何强制rbenv ruby版本使用特定的rubygems版本?
我有反问题:'cmake'被选择python3.2,在那里我需要2.7库进行编译。 – jpaugh 2013-04-16 19:25:50