Нужно ли удалять пакет Python перед обновлением до более новой версии?

Я запускаю Python в Windows и обычно устанавливаю пакеты, используя готовые двоичные файлы. Когда я обновляю пакеты (например, с matplotlib-1.0.0 до matplotlib-1.1.1), нужно ли сначала удалять более раннюю версию?

Я провел тестовое обновление matplotlib, не удаляя предыдущую версию, и все в порядке. matplotlib.__version__ показывает «1.1.1». Значит, distutils просто перезаписывает файлы, потенциально оставляя старые файлы загромождающими папку с пакетами сайта? Или установщик искал предыдущие установки, сначала удалял их, а затем устанавливал новую версию?


person jkitchen    schedule 28.09.2012    source источник
comment
Когда я смотрю в Панели управления Windows на свои установленные программы, предыдущая версия matplotlib исчезла после установки более новой версии, поэтому кажется, что установщик либо удалил старый пакет, либо сообщил Windows, что старый пакет был удален.   -  person jkitchen    schedule 28.09.2012


Ответы (3)


Если вы используете pip, вы можете сделать pip install package --upgrade, но вы увидите, что по сути это то же самое, что удаление с последующей новой установкой.

person Lev Levitsky    schedule 28.09.2012
comment
Я не использую pip. Я загружаю готовый исполняемый файл для Windows (например, matplotlib-1.1.1.win32-py2.7.exe), который запускает мастер установки. - person jkitchen; 28.09.2012
comment
Я протестировал оба случая (новая установка и установка поверх предыдущей), затем сравнил две папки matplotlib с помощью WinMerge и нашел дополнительные файлы, оставшиеся от предыдущей версии. Таким образом, похоже, что с distutils Windows не происходит никакого волшебства по сравнению с тем, что делает обновление pip (удаление + новая установка). - person jkitchen; 28.09.2012
comment
OP использует предварительно созданные двоичные файлы, которые pip не обрабатывает, поэтому он не может использовать pip для их установки. Однако он может использовать easy_install. - person Piotr Dobrogost; 28.09.2012

вы должны удалить его:

pip uninstall matplotlib

Это будет загромождать пакет вашего сайта или еще хуже.

person amirouche    schedule 28.09.2012

Да, нужна чистая установка. Я прострелил себе ногу при обновлении с matplotlib 1.2.1 до 1.3.1 без предварительного удаления старого пакета.

person gregorio.bastardo    schedule 16.07.2014