Я все еще пытаюсь понять эту проблему, которую я имею, и прочитал тонну постов, касающихся sudo apt-get install python-XXX
vs pip install
, и я понимаю суть ее (apt-get - это пакетное репо, управляемое совершенно другой группой людей для pip, auto - обновляется вместе со всем остальным, когда доступно обновление, оно бинарное и т. д.). Однако есть несколько конкретных вещей, которые я не понимаю и не смог найти ответы на них:
Если я по какой-либо причине сначала устанавливаю пакет, например, numpy, с помощью
sudo apt-get install numpy
, а потом - позжеpip install numpy
. Что просходит? numpy устанавливается снова в другом месте с другой версией (например, в .local / lib), так что теперь у меня есть две независимые версии? Какой из них используется при импорте? (если я правильно понял, что это отдельно, а apt-get для всей системы, но я видел противоречивые ответы на этот вопрос, например, здесь )Я заметил, что многие пакеты на apt-get довольно старые по сравнению с pip. например, во время написания ipython 2.3.0 против 4.0.3, numpy 1.10.2 против 1.10.4, spyder 2.3.5 против 2.3.8. Есть ли какое-то преимущество перед первым,
sudo apt-get install
за которым следуетpip install
? или это просто глупо?Я заметил, что мой пипс был 1.5.6 - это текущая последняя, если вы делаете
sudo apt-get install python-pip
. тогда как на пипсах это 8.0.2! Я считаю, что это вызывает у меня проблемы, потому что с этой старой версией вы можете устанавливать один и тот же пакет снова и снова, и он не предупреждает. И почему-то это не переписывает старый. Я понял это, потому что я могу продолжать удалять один и тот же пакет (например, numpy), и он всегда будет там, когда я это сделаюpip show numpy
. И, как ни странно, всегда показывает одну и ту же папку (.local /), но с разными версиями: S Итак, у меня есть два вопроса, связанных с этим:а. Каков наилучший способ установки pip? Я в настоящее время склоняется к
sudo apt-get install python-pip
,pip install pip
,sudo apt-get purge python-pip
. Это мудро? Это кажется немного смешным для меня.б. теперь, когда я знаю, что многие из моих пакетов испорчены дублирующими установками, возможно, потому что некоторые из них были установлены с помощью apt-get, а затем несколько раз позже с pip 1.5.6, каков наилучший способ проверить наличие дубликатов и очистить их? Я предполагаю, что небезопасно использовать скрипт, чтобы удалить все и переустановить pip?
PS Я не был уверен, должен ли я публиковать это как новый вопрос или как ответ на мою первоначальную проблему. Поскольку этот вопрос гораздо более краткий и общий, я чувствовал, что лучше было бы его отделить. Извиняюсь, если я ошибся.