Szybkim sposobem sprawdzenia, jakie pliki binarne Pythona są zainstalowane, jest:ls /usr/bin | grep python
Tejas Kale
1
@TejasKale Lepiej uruchomić ls /usr/bin/python*(lub ls /usr/bin/*python*jeśli naprawdę chcesz pliki z pythondowolnym miejscem w nazwie). W ten sposób lsnadal formatuje dane wyjściowe dla terminala (i otrzymujesz wiele kolumn oraz, z domyślnym lsaliasem w Ubuntu, kolorowanie).
Eliah Kagan
Odpowiedzi:
86
Możesz użyć python -V(i wsp.), Aby pokazać wersję Pythona, na którą pythonrozpoznaje to polecenie. Jeśli to wszystko, czego potrzebujesz, to koniec. Ale zobaczenie każdej wersji Pythona w twoim systemie zajmuje trochę więcej.
W Ubuntu możemy sprawdzić rozdzielczość za pomocą readlink -f $(which python). W domyślnych przypadkach w 14.04 będzie to po prostu wskazywać /usr/bin/python2.7.
Możemy to połączyć, aby pokazać wersję tej wersji Pythona:
Ale to wciąż mówi nam tylko, jaka jest nasza obecna pythonrozdzielczość. Gdybyśmy byli w Virtualenv (wspólny system zarządzania stosami Pythona), pythonmógłby rozwiązać inną wersję:
Faktem jest, że w twoim systemie mogą być wydzielone setki różnych wersji Pythona, albo na ścieżkach dodanych kontekstowo, albo żyjących pod różnymi nazwami binarnymi (jak python3).
Jeśli założymy, że plik binarny Python zawsze będzie wywoływany python<something>i będzie plikiem binarnym, możemy po prostu przeszukać cały system w poszukiwaniu plików spełniających te kryteria:
Dostaję następujące i nie jestem pewien, co to znaczy: readlink: extra operand '/usr/bin/python2.7'Try 'readlink --help' for more information.
hello_there_andy
zakładałem, python -vże zwróci wersję i wykonałem to jako root. wydrukował długą listę rzeczy, ale na górze napisał, installing zipimport hooka teraz wydaje się, że jestem w programie, z którego nie mam pojęcia, jak się wydostać, a co dopiero odinstalować? czy możesz mi pomóc tutaj
BugWhisperer
2
@Anthony -VFlaga wersji uwzględnia wielkość liter. python -vumieści cię w konsoli Pythona z włączonymi szczegółowymi komunikatami. Control + D, aby wyjść. Lub napisz exit()i naciśnij klawisz Return.
Oli
@hello_there_andy Chyba popełniłeś literówkę podczas kopiowania polecenia.
wjandrea
63
Wpisz następujące polecenie w terminalu ( Ctrl+ Alt+ T):
python -V
lub
python --version
Możesz znaleźć listę opcji / parametrów dla wielu poleceń w terminalu, wpisując polecenie, a następnie --help
Przykład:
python --help
Ręczne / manpages również dostępne dla większości z takim CLI, które mogą być wyświetlane man <command>(np man python)
Od man python:
COMMAND LINE OPTIONS-V ,--versionPrints the Python version number of the executable and exits.
Jest również python3zainstalowany na wielu komputerach, dzięki czemu możesz:
Warto zauważyć, ponieważ @Florian Diesch poniżej nawiązuje do tego, że prawdopodobnie masz wiele wersji „python”. Domyślne wywołanie „python” wskazuje na instalację Pythona 2.7, chociaż Ubuntu 14.04 jest również wyposażony w Python 3.0.
Po uruchomieniu pythonw terminalu będzie generować dane wyjściowe w następujący sposób:
Python2.7.6(default,Mar222014,22:59:56)[GCC 4.8.2] on linux2Type"help","copyright","credits"or"license"for more information.>>>
Zobacz pierwszą linię - Python 2.7.6.
Uruchom także python3. Mam 3.4.1
Python3.4.1(default,Jul312014,12:46:17)[GCC 4.8.2] on linuxType"help","copyright","credits"or"license"for more information.>>>
Nie pokaże to jednak wszystkich. Jeśli masz 2 lub więcej wersji Python 3.Xx, zobaczysz tylko najnowszą.
Domyślnie 14.04, masz 2.7.6 i 3.4.0. Jak widać zaktualizowałem do wersji 3.4.1. Wiem, że nadal mam wersję 3.4.0, ponieważ kiedy idę do /usr/bin, widzę python3.4, a jeśli uruchomię się /usr/bin/python3.4z wiersza poleceń, dostanę wersję 3.4.0, a uruchomienie /usr/local/bin/python3.4daje mi wersję 3.4.1
„Jeśli masz 2 lub więcej wersji Python 3.Xx, zobaczysz tylko najnowszą.” Czy zamiast tego nie pokaże, który z nich zawiera katalog wymieniony jako pierwszy w PATHzmiennej środowiskowej? Dlaczego działające python3zawsze uruchamiałoby najwyższą (pod) wersję python3, która jest zainstalowana? Czy też w praktyce nie pokaże żadnej wersji, na którą /usr/bin/python3wskazuje dowiązanie symboliczne, która nie musi być najnowsza?
Eliah Kagan
@Eliah Nie mam pojęcia, ale niektóre programy biorą to stamtąd, a inne od /usr/binjednego ...
Nie, użytkownik powiedział, że bezczynny działał z wersją 3.4.0, a wiersz poleceń z wersją 3.4.1 ...
Tim
5
Możesz również sprawdzić wersję Pythona z samego kodu za pomocą platformmodułu ze standardowej biblioteki. Istnieją dwie funkcje: platform.python_version()(zwraca łańcuch) i platform.python_version_tuple()(zwraca krotkę). Scenariusz:
zakładałem, python -vże zwróci wersję i wykonałem to jako root. wydrukował długą listę rzeczy, ale na górze napisał, installing zipimport hooka teraz wydaje się, że jestem w programie, z którego nie mam pojęcia, jak się wydostać, a co dopiero odinstalować? czy możesz mi pomóc tutaj
ls /usr/bin | grep python
ls /usr/bin/python*
(lubls /usr/bin/*python*
jeśli naprawdę chcesz pliki zpython
dowolnym miejscem w nazwie). W ten sposóbls
nadal formatuje dane wyjściowe dla terminala (i otrzymujesz wiele kolumn oraz, z domyślnymls
aliasem w Ubuntu, kolorowanie).Odpowiedzi:
Możesz użyć
python -V
(i wsp.), Aby pokazać wersję Pythona, na którąpython
rozpoznaje to polecenie. Jeśli to wszystko, czego potrzebujesz, to koniec. Ale zobaczenie każdej wersji Pythona w twoim systemie zajmuje trochę więcej.W Ubuntu możemy sprawdzić rozdzielczość za pomocą
readlink -f $(which python)
. W domyślnych przypadkach w 14.04 będzie to po prostu wskazywać/usr/bin/python2.7
.Możemy to połączyć, aby pokazać wersję tej wersji Pythona:
Ale to wciąż mówi nam tylko, jaka jest nasza obecna
python
rozdzielczość. Gdybyśmy byli w Virtualenv (wspólny system zarządzania stosami Pythona),python
mógłby rozwiązać inną wersję:To jest prawdziwa wydajność.
Faktem jest, że w twoim systemie mogą być wydzielone setki różnych wersji Pythona, albo na ścieżkach dodanych kontekstowo, albo żyjących pod różnymi nazwami binarnymi (jak
python3
).Jeśli założymy, że plik binarny Python zawsze będzie wywoływany
python<something>
i będzie plikiem binarnym, możemy po prostu przeszukać cały system w poszukiwaniu plików spełniających te kryteria:Jest to oczywiście dość obrzydliwe polecenie, ale jest to znowu prawdziwy efekt i wydaje się, że wykonał dość dokładną robotę.
źródło
readlink: extra operand '/usr/bin/python2.7'
Try 'readlink --help' for more information.
python -v
że zwróci wersję i wykonałem to jako root. wydrukował długą listę rzeczy, ale na górze napisał,installing zipimport hook
a teraz wydaje się, że jestem w programie, z którego nie mam pojęcia, jak się wydostać, a co dopiero odinstalować? czy możesz mi pomóc tutaj-V
Flaga wersji uwzględnia wielkość liter.python -v
umieści cię w konsoli Pythona z włączonymi szczegółowymi komunikatami. Control + D, aby wyjść. Lub napiszexit()
i naciśnij klawisz Return.Wpisz następujące polecenie w terminalu ( Ctrl+ Alt+ T):
lub
Możesz znaleźć listę opcji / parametrów dla wielu poleceń w terminalu, wpisując polecenie, a następnie --help
Przykład:
Ręczne / manpages również dostępne dla większości z takim CLI, które mogą być wyświetlane
man <command>
(npman python
)Od
man python
:Jest również
python3
zainstalowany na wielu komputerach, dzięki czemu możesz:aby dowiedzieć się, jakiego używasz Python 3.x.
źródło
i
pokaż wersję Python 2.x,
zainstalowana wersja Python 3.x
źródło
Po uruchomieniu
python
w terminalu będzie generować dane wyjściowe w następujący sposób:Zobacz pierwszą linię -
Python 2.7.6
.Uruchom także
python3
. Mam 3.4.1Nie pokaże to jednak wszystkich. Jeśli masz 2 lub więcej wersji Python 3.Xx, zobaczysz tylko najnowszą.
Domyślnie 14.04, masz 2.7.6 i 3.4.0. Jak widać zaktualizowałem do wersji 3.4.1. Wiem, że nadal mam wersję 3.4.0, ponieważ kiedy idę do
/usr/bin
, widzępython3.4
, a jeśli uruchomię się/usr/bin/python3.4
z wiersza poleceń, dostanę wersję 3.4.0, a uruchomienie/usr/local/bin/python3.4
daje mi wersję 3.4.1Moje zaimki to On / On
źródło
PATH
zmiennej środowiskowej? Dlaczego działającepython3
zawsze uruchamiałoby najwyższą (pod) wersję python3, która jest zainstalowana? Czy też w praktyce nie pokaże żadnej wersji, na którą/usr/bin/python3
wskazuje dowiązanie symboliczne, która nie musi być najnowsza?/usr/bin
jednego ...env
linii hashbang w celu znalezienia dowolnego interpretowanego systemu) -preferred w powszechne w skryptów Pythona ). Nie jestem pewien, czy to właśnie rozumiesz przez różnice między niektórymi programami a innymi.Możesz również sprawdzić wersję Pythona z samego kodu za pomocą
platform
modułu ze standardowej biblioteki. Istnieją dwie funkcje:platform.python_version()
(zwraca łańcuch) iplatform.python_version_tuple()
(zwraca krotkę). Scenariusz:Bieganie:
źródło
sys.version
lubsys.version_info
.Jeśli chcesz, aby wszystkie wersje Pythona były dostępne jako komendy, uruchom
compgen -c python
. Na przykład:Jeśli chcesz uzyskać wersję każdego z powyższych, oto jedna linijka:
Aktualizacja:
python*-config
Zauważyłem, że
python*-config
programy nie obsługują--version
flagi. Na przykład:Aby je odfiltrować
grep -v
, na przykład:źródło
Z łatwością otwórz terminal i wykonaj następujące czynności:
pisać
zweryfikować twoją wersję 2.x W moim przypadku pojawi się:
W wersji 3.x napisz:
W moim przypadku pojawia się:
W obu przypadkach, aby wyjść z powłoki Pythona, napisz:
źródło
W terminalu powłoki
$ which -a python
wyświetla wszystkie twojepython
.$ which -a python2.7
wyświetla wszystkie twojepython2.7
.$ /usr/bin/python -V
podaje informacje o wersji/usr/bin/python
.sprawdź w skrypcie python
oto ilustracja w powłoce ipython:
źródło
python -v
że zwróci wersję i wykonałem to jako root. wydrukował długą listę rzeczy, ale na górze napisał,installing zipimport hook
a teraz wydaje się, że jestem w programie, z którego nie mam pojęcia, jak się wydostać, a co dopiero odinstalować? czy możesz mi pomóc tutaj