我有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. 如何強制CMake使用正確的OpenCV版本?
- 2. 使用舊版本numpy的,甚至有一個較新的版本中安裝
- 3. 使用CMake版本3.5.2的OpenCV與CMake 2.X.X
- 4. 將安裝新版本的Python與舊版本衝突
- 5. Maven的:版本:更新父隨後安裝安裝舊版本
- 6. 如何安裝較舊版本的python
- 7. 如何在Mac中安裝PHP?我有新版本和舊版本。 。:(
- 8. Cmake使用編譯的OpenCV版本
- 9. 如何強制Apache使用最新安裝的PHP版本
- 10. 強制cmake使用特定的OpenCV版本
- 11. 舊版Ruby版本在安裝最新版本之後顯示
- 12. 如果我安裝了多個版本,如何更新我的Ruby版本?
- 13. 如何強制iPython使用舊版本的Python?
- 14. 如何強制iPython使用舊版本的Python?
- 15. 如何在安裝舊版本的同時使用新的Python安裝?
- 16. 如何讓msi安裝程序在較新的版本上安裝舊版本?
- 17. 安裝舊版本的firefox
- 18. 安裝舊版本的Cygwin
- 19. 升級我的R版本後,如何輕鬆重新安裝舊版本中安裝的所有軟件包?
- 20. 在舊版本上安裝新版本的部署項目
- 21. CMake無法識別新版本中的C++編譯器版本
- 22. 如何在較新版本上安裝舊版本的UWP應用程序?
- 23. 與我的Python安裝一起使用哪個版本的Pip?
- 24. 皮普安裝到舊版本的Python
- 25. 使用較舊版本的MFC和較新版本的Visual Studio
- 26. 我如何知道哪個版本是版本庫中的最新版本號?
- 27. 我們可以使用MLLP版本2和HL7版本2嗎?
- 28. 舊版本和新版Android版本的獨立版本
- 29. 版本控制實體插入新版本使用NHibernate版本
- 30. 使用舊python版本的mod_wsgi運行時版本
我有反問題:'cmake'被選擇python3.2,在那裏我需要2.7庫進行編譯。 – jpaugh 2013-04-16 19:25:50