Я автоматизировал требования к некоторым пакетам с помощью ansible
и хотел заморозить их версию, и я обнаружил, что не уверен, какая версия используется системой .
Команды debian apt-get
дают значение, отличное от того, которое вызвала сама установленная команда.
$ python -V
Python 2.7.6
$ dpkg -s python | grep Version
Version: 2.7.5-5ubuntu3
$ apt-cache policy python | grep Installed
Installed: 2.7.5-5ubuntu3
$ which python
/usr/bin/python
$ echo $PATH
/home/<MY_USERNAME>/.gvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Я не думаю, что существует какая-либо проблема $ PATH
, например, получение другого python
команда из таких вещей, как anaconda
(на самом деле, она не установлена в системе). Переменная среды $ PATH
выглядит нормально.
Я не могу понять, почему это несоответствие 2.7.6 / 2.7.5?
Моя версия ОС / дистрибутива:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
исполняемый файл python2.7
фактически находится в пакете python2.7-minimal
, а python
просто имеет (или устанавливает) символическую ссылку, указывает на исполняемый файл. Пакет python не обязательно имеет одну и ту же версию, поскольку он собран из другого пакета исходного кода (значения по умолчанию для python).