Вопрос После установки PIP -upgrade Dpkg по-прежнему отображает старые пакеты python


Недавно я обновил все инструменты анализа данных python, используя pip. Когда я делаю

dpkg -l |grep python

Я вижу старые номера версий программного обеспечения, которое я только что обновил через pip.

Как я могу гарантировать, что список dpkg сообщает о правильных версиях? (Я предполагаю, что dpkg -l должен быть правильным)

Например, я обновил ipython до версии 1.0.0 с помощью pip; однако dpkg сообщает версию 0.13.2-1 ~ ubuntu12.04.1


2
2017-08-18 20:06


происхождения




ответы:


Это не то же самое, если вы используете dpkg вместо pip. Первый - это менеджер пакетов для систем на базе Debian и предоставляет средства для обработки пакетов и установки пакетов из хранилища сделанные командами пакетов. PIP обрабатывает только пакеты Python и устанавливает их из магазина сыра PyPI,

Эти два метода отличаются версиями, которые они устанавливают с помощью PIP, всегда устанавливая новейшую версию пакета.

Один из способов перечислить все установленные пакеты - установить и использовать желток: sudo pip install yolk а затем выдавать yolk -l для перечисления всех пакетов.

Другие методы упоминаются в следующем SE-вопросе:

Также эти два вопроса говорят о различии apt-get-pip для установки пакетов Python:


5
2017-08-18 21:53



Теперь я понимаю, что я должен был создать virtualenv для обновлений моего pip вместо обновления основной установки python. Тогда мне не пришлось бы беспокоиться о проблемах с зависимостями из-за неизвестных версий в основной установке python в моей системе. - Antonios Hadjigeorgalis
Хотя virtualenv и подобные инструменты не являются обязательными, хорошей практикой является поддержание Python вашей системы в хорошем состоянии. - Stef K


Вы смотрите на двух разных менеджеров пакетов. DPKG / APT устанавливается в /usr/lib/python2.7/dist-packages/ (заметка dist - он поставляется с распределением) и pip/easy_install устанавливается на других путях Python.

Оба менеджера пакетов независимы. Ваше приложение Python будет использовать версию пакета сначала в Python Path. Проверьте свой путь Python с помощью:

import sys
print sys.path

2
2017-08-18 22:13