Pod nowszymi wersjami Ubuntu/Debian, libpython2.7.so
jest pod /usr/lib/i386-linux-gnu/libpython2.7.so
lub /usr/lib/x86_64-linux-gnu/libpython2.7.so
itp. Wcześniej można je było znaleźć w /usr/lib/libpython2.7.so
, bez względu na architekturę. Nie sprawdziłem innych dystrybucji. Jak znaleźć ścieżkę libpython2.7.so
z python?Niezależna ścieżka dystrybucji libpython
Odpowiedz
Zakładam, że szukasz połączenia z tym plikiem. Python jest zwykle instalowany z pkgconfig
info, aby pomóc w kompilacji przeciwko niemu. W szczególności dla pliku .so
powinieneś użyć pkg-config --libs python-2.7
. Od Pythona:
import subprocess
subprocess.check_output(["pkg-config", "--libs", "python-2.7"])
Jeśli tylko flaga pokazany jest -lpython2.7
, to może warto rozważyć czytania /etc/ld.so.conf
zobaczyć domyślne lokalizacje, w których łącznik patrzy na swoich bibliotek.
Używanie pkg-config
nie jest najlepszą opcją - nie rozróżnia różnych instalacji Pythona, zwracając jedynie instalację systemu. Lepiej jest użyć pliku wykonywalnego Python, aby odkryć lokalizację libpythonX.Y.so
.
Od wewnątrz Python:
from distutils import sysconfig;
print sysconfig.get_config_var("LIBDIR")
lub wewnątrz Makefile:
PYTHON_LIBDIR:=$(shell python -c 'from distutils import sysconfig; print sysconfig.get_config_var("LIBDIR")')
ten odkryje lokalizacją cokolwiek Python wykonywalny jest pierwszym w $PATH
a więc będzie działać, jeśli istnieje wiele instalacji Pythona w systemie.
Kredyt na Niall Fitzgerald za wskazanie tego.
Daje mi '/ usr/lib', natomiast znajduje się w'/usr/lib/x86_64-linux-gnu' –
nie działa dla mnie. ten sam problem, na jaki zwrócił uwagę Marco Sulla. –
Ten sam problem. :(Naprawdę chciałbym, aby był sposób na zrobienie tego: – Alec
- 1. Błąd Libpython podczas budowania YouCompleteMe
- 2. Czy platforma WCF jest niezależna?
- 3. Harmonogram dystrybucji YouTubePlayerAPI dla dystrybucji?
- 4. vim: Nie można załadować biblioteki libpython
- 5. Python: OS Niezależna lista dostępnych urządzeń magazynujących
- 6. Pomocników ASP.NET MVC, niezależna wersja MVC
- 7. Gdzie powinna znajdować się niezależna biblioteka python?
- 8. Ścieżka systemowa kontra Sys.getenv ('ŚCIEŻKA')
- 9. Control.MonadPlus.Free bez niepotrzebnej dystrybucji
- 10. Niezależna od bazy danych konwersja ciągów SQL w szynach
- 11. Kompilacja niezależna od środowiska za pomocą szablonu Webue Vue
- 12. Katalog lib w 64-bitowej dystrybucji OpenSuse
- 13. Używanie Mavena do dystrybucji projektu
- 14. Definiowanie niestandardowej dystrybucji PyMC-a
- 15. Dopasowywanie dystrybucji do danych - MATLAB
- 16. Porównanie graficzne par kilku dystrybucji
- 17. kiedy użyć alternatywnej dystrybucji Pythona?
- 18. ggplot_stat_density2d działki do ekologicznej dystrybucji
- 19. Tworzenie nowych dystrybucji w scipy
- 20. Ścieżka katalogu szablonu jest nieprawidłowa. Upewnij się, że istnieje lub może zostać utworzony: Nieoczekiwana ścieżka [ścieżka]
- 21. Sprawdź, czy {{ścieżka()}} jest obecny {{ścieżka()}} w Symfony2
- 22. Ścieżka niestandardowa tsconfig.json niestandardowa ścieżka nie została odebrana
- 23. Ścieżka bezwzględna importu Angular2 lub ścieżka niestandardowa (maszynopis 2)
- 24. Ścieżka klasy Java - Linux
- 25. Ścieżka i C#
- 26. PHP ścieżka katalogu rekurencyjne
- 27. log4j względna ścieżka
- 28. szyny form_tag ścieżka URL
- 29. Ścieżka rysowania systemu Android
- 30. PHP - względna ścieżka "wymaga"
Szukasz 'locate libpython' lub czegoś innego? – janos
co pokazuje twój 'ldd/usr/local/bin/python'? – Arovit
'locate libpython' znajduje się o wiele więcej niż tylko ten pojedynczy plik i chcę programowo znaleźć ścieżkę i dostarczyć ją do cmake. 'ldd/usr/local/bin/python' daje' Brak takiego pliku lub katalogu', a 'ldd/usr/bin/python' daje kilka plików bibliotecznych, ale' libpython2.7.so' nie jest jednym z nich. – Psirus