2012-02-08 8 views
5

To jest dla Pythona 2.6.6 na Debianie Squeeez. Próbuję dowiedzieć się, czy binarne dostarczane z Debianem zostały skonfigurowane z flagami:Czy istnieje sposób sprawdzenia, czy python został skonfigurowany i skompilowany z "--with-threads -enable-shared"?

--with-threads --enable-shared 

jakby byli nie będę potrzebował, aby skompilować i zainstalować ze źródeł siebie.

+0

Spróbuj parsować informacje z pyconfig.h? Ten plik jest generowany podczas kompilacji i jest specyficzny dla platformy. Nie jestem pewien, czy ma on wszystkie flagi :(Uruchomiony python -v może ujawnić pewne informacje: –

Odpowiedz

11

--with-threads (co jest domyślne) będzie oznaczać, że Python obsługuje wątkowanie, co będzie oznaczać, że zadziała import thread. Prostym sposobem na sprawdzenie tego jest z python$version -m threading

--enable-shared będzie oznaczać Python pochodzi z pliku libpython$version.so, zainstalowany w $prefix/lib (obok katalogu python$version, a nie w środku.) Najprostszą rzeczą do zrobienia jest patrzeć, czy ten plik istnieje - zakładając, że chcesz się dowiedzieć, ponieważ musisz użyć tej biblioteki współdzielonej libpython. Jeśli faktycznie trzeba wiedzieć, czy python$versionbinarny używa tej biblioteki współdzielonej, ldd powie, że. Rozróżniam to, ponieważ na Debianie, /usr/lib/python$version.so będzie istnieć, mimo że /usr/bin/python$version jest statycznie połączony.

+0

I przez "import wątku" działa, masz na myśli, że nie wyrzuci 'ImportError', którego możesz przetestować dla z Kod Pythona –

+0

Dzięki, Thomas - Piękna, zwięzła odpowiedź. – DrLou

Powiązane problemy