Mam 2 wersje python zainstalowane, ale cmake używa starszej wersji. Jak wymusić cmake, aby użyć nowszej wersji?Mam 2 wersje Pythona zainstalowane, ale cmake używa starszej wersji. Jak zmusić cmake do korzystania z nowszej wersji?
Odpowiedz
Spróbuj dodać -DPYTHON_EXECUTABLE:FILEPATH=/path/to/python2.7
Może to być problem ze ścieżką?
także mogli określić ścieżkę do biblioteki Pythona, użyj wersję, że chcesz:
cmake -DPYTHON_LIBRARIES=/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib .
Zauważ, że przynajmniej dla cmake 2.8 na Ubuntu 16.04, musisz ustawić -DPTYTHON_LIBRARY zamiast -DPYTHON_LIBRARIES – phiresky
miałem podobny problem i rozwiązać go za pomocą Paul's answer jako podpowiedź. Musiałem użyć python2.7
, aby skompilować starszą bibliotekę, ale cmake
ciągle zbiera moje biblioteki python3.2
(i wykonywalne).
Najpierw uruchomiłem cmake
z opcjami domyślnymi, a następnie edytowałem wygenerowany plik CMakeCache.txt
. Zrobiłem to w ten sposób przede wszystkim dlatego, że nie znałem odpowiednich zaklęć, aby spowodować, że cmake
otrzymam bibliotekę Pythona i dołączam ścieżki, itd. W pierwszej kolejności.
W moim CmakeCache.txt
znalazłem linie jak ten
Ścieżka do programu
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python
ścieżkę do katalogu
PYTHON_INCLUDE_DIR:PATH=/usr/include/python3.2
ścieżkę do biblioteki
PYTHON_LIBRARY:FILEPATH=/usr/lib/libpython3.2.so
i zastąpić wszystkie wystąpienia python3.2
z python2.7
. Musiałem również zmienić nazwę PYTHON_EXECUTABLE
, aby użyć python2.7
, ponieważ python
jest dowiązaniem symbolicznym do python3.2
w moim systemie.
Następnie ponownie wysłałem cmake
. Ponieważ preferuje buforowane wartości do szukania bibliotek, powinno to działać we wszystkich przypadkach. Przynajmniej w moim.
To właśnie dla mnie zadziałało. Zapewnienie zmiennych środowiskowych cmake nie działa. Naprawiono edycję pliku CmakeCache. Z każdą godziną łatwiej jest pracować. – JohnAllen
Możesz spróbować jednego z nich w zależności od tego, co trzeba:
find_package(PythonInterp 2.7 REQUIRED)
find_package(PythonLibs 2.7 REQUIRED)
Patrz: CMake docs
Ładnie działa, także za pomocą Travisa. –
Tak łatwo ... Czuję się głupio. – dividebyzero
https://cmake.org/cmake/help/latest/module/FindPythonInterp.html zaleca zamianę linii – sercxjo
używam anakonda (python 2.7.8), jak również python 2.7.6.
Próbowałem -DPYTHON_EXECUTABLE:FILEPATH=$ANACONDA_HOME/bin
, ale wersja 1.4 została znaleziona (dziwne :).
Moje rozwiązanie zmienia go 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
W szczególności dla Anacondy działało to dla mnie (i mam nadzieję, że łatwiej będzie generalizować): https://github.com/jkhoogland/FindPythonAnaconda (chociaż musiałem wprowadzić dwie małe zmiany - oba są w moim widelcu GitHub, jeśli w górę nie działa również dla ciebie) –
- 1. Jak używać starszej wersji gcc w Linuksie
- 2. npm Użyj 2 wersji Pythona
- 3. OpenCv z Androidem w wersji 2.2 lub nowszej przy użyciu nowej gradacji z cmake - niezdefiniowana referencja
- 4. Jak zaktualizować vagrant exact32 do nowszej wersji?
- 5. Utwórz nowy projekt w szynach starszej wersji
- 6. Instalacja starszej wersji gcc
- 7. Łączenie statycznych wersji bibliotek Boost przy użyciu CMake
- 8. Instalacja starszej wersji ImageMagick z homebrew
- 9. Aktualizowanie Pythona z korzenia Pythona do nowszej wersji podrzędnej w systemie Windows nie powoduje żadnych problemów.
- 10. Uzyskiwanie nokogiri na używanie nowszej wersji libxml2
- 11. Jak uruchomić aplikację w starszej wersji symulatora?
- 12. Jak powrócić do starszej wersji naszego kodu w Subversion?
- 13. Jakikolwiek sposób w CMake wymagać GCC w wersji 4+?
- 14. Znajdowanie katalogu Pythona dla witryn z CMake
- 15. Znajdowanie poprawnego frameworka Pythona za pomocą cmake
- 16. Jak zmusić Railsy do korzystania z wersji Ruby (managed with rbenv), której chcę?
- 17. Czy CMake używa g ++ do kompilowania plików C?
- 18. Jak dostosować system Android GridLayout do starszej wersji?
- 19. cmake - niech podkatalog użyje własnego pliku Makefile
- 20. Jak zbudować program z 2 różnymi wartościami zmiennej w CMake
- 21. Jak korzystać z 2 różnych wersji GCC na Linux Ubuntu i zmusić MAKE do korzystania z jednego z nich
- 22. Jak mogę uzyskać właściwość starszej wersji węzła na poziomie jackrabbit?
- 23. Jak zmusić PHP do używania libiconv wersji iconv zamiast wersji glibc zainstalowanej w CentOS?
- 24. Sprawdzanie wersji Groovy Gradle używa
- 25. zmiana domyślnej wersji pythona z virtualenvwrapper (& virtualenv)
- 26. Jak zmusić httpd do korzystania z rh-php56 z kolekcji oprogramowania red hat
- 27. Plugin jest za stary, proszę zaktualizować do nowszej wersji
- 28. Cmake z bitbake recipe
- 29. Przesyłanie do sklepu z różnymi wersjami pakietu różnych wersji Pythona
- 30. Wiele wersji Pythona na systemie OS X Leopard
miałem odwrotny problem: 'cmake' wybierał python3.2, gdzie potrzebne 2.7 dla biblioteki do kompilacji. – jpaugh