LINUX.ORG.RU

Как узнать используемую версию питона?

 ,


1

1

Помогите пожалуйста понять почему я вижу разные версии python через командную строку.

md@md ~/.MINT17/code/python/alien_invasion $ python -V
Python 3.7.0
md@md ~/.MINT17/code/python/alien_invasion $ python3 -V
Python 3.4.3
md@md ~/.MINT17/code/python/alien_invasion $ virtualenv -p python3.4 venv
Running virtualenv with interpreter /usr/bin/python3.4
Using base prefix '/usr'
New python executable in venv/bin/python3.4
Also creating executable in venv/bin/python
Installing setuptools, pip...done.
md@md ~/.MINT17/code/python/alien_invasion $ 
md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ source activate
(venv)md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ python -V
Python 3.7.0
(venv)md@md ~/.MINT17/code/python/alien_invasion/venv/bin $ python3 -V
Python 3.4.3

Как видите, команды

python -V
и
python3 -V
показывают разные версии. Причём даже когда virtualenv включен. Как такое возможно?

python и python3 в $PATH оказались разные. Это совершенно законно. Смотри $PATH, формулируй свои ожидания, исправляй проблему. В идеале переходом на пакетный менеджер, отменяющий необходимость в костылях типа virtualenv, конечно.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

В идеале переходом на пакетный менеджер, отменяющий необходимость в костылях типа virtualenv, конечно.

Это который? Как он решает проблему с разными версиями питона и при этом не портит $PATH?

anonymous ()
which python
which python3
anonymous ()
Ответ на: комментарий от anonymous

Nix. Просто отлично, можешь иметь хоть 2.7, полсотни 3.7 и пяток 3.8, не проблема. Портит $PATH так, как тебе и не снилось.

t184256 ★★★★★ ()
Ответ на: комментарий от anonymous

Возвести порчу $PATH в абсолют и целиком и полностью отдать на откуп одной сущности, которая знает, что делает. Так же обойтись с $PYTHONPATH и вообще любыми грязными дропинами и прочим spooky action at the distance. Ну и воспитать пользователя так, что он вообще не будет ожидать Python у себя в $PATH просто так.

В итоге красота неописуемая получается.

t184256 ★★★★★ ()

Просто у тебя python и python3 — симлинки, указывающие на бинарники разных версий. Можешь руками переставить на один нужный, если мешает.

beresk_let ★★★★★ ()
Ответ на: комментарий от tz4678

Этот очередной велосипед в наивные зависимости умеет?

t184256 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.