Как мне обновить пакет Python?
Я использую Ubuntu 9:10 и установлен пакет под названием M2Crypto (версия 0.19.1). Мне нужно скачать, собрать и установить последнюю версию пакета M2Crypto (0.20.2).
Пакет 0.19.1 содержит файлы в нескольких местах, включая (/usr/share/pyshared и /usr/lib/pymodules.python2.6).
Как полностью удалить версию 0.19.1 из моей системы перед установкой 0.20.2?
14 ответов
Возможно, вы захотите заглянуть в менеджер пакетов Python, например, pip. Если вы не хотите использовать менеджер пакетов Python, вы можете загрузить M2Crypto и выполнить сборку / компиляцию / установку поверх старой установки.
Лучший способ, который я нашел, - запустить эту команду из терминала.
sudo pip install [package_name] --upgrade
sudo
попросит ввести пароль root для подтверждения действия.
Чтобы автоматически обновить все устаревшие пакеты (которые были установлены с помощью pip), просто запустите приведенный ниже скрипт,
pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
Вот, pip list --outdated
перечислит все устаревшие пакеты, а затем передаст их в awk, чтобы он печатал только имена. Затем $(...)
сделает его переменной, а затем все будет сделано автоматически. Убедитесь, что у вас есть разрешения. (Просто положи sudo
перед пипом, если ты запутался) я бы написал скрипт с именем, pip-upgrade
Код ниже,
#!/bin/bash
sudo pip install $(pip list --outdated | awk '{ print $1 }') --upgrade
Затем используйте следующие строки сценария, чтобы подготовить его:
sudo chmod +x pip-upgrade
sudo cp pip-upgrade /usr/bin/
Затем просто нажмите pip-upgrade
и вуаля!
- В командной строке Windows запустите:
pip list --outdated
Вы получите список устаревших пакетов. - Бежать:
pip install [package] --upgrade
Это улучшит[package]
и удалите предыдущую версию.
Чтобы обновить пипс:
py -m pip install --upgrade pip
Опять же, это удалит предыдущую версию pip и установит последнюю версию pip.
- Способ 1: обновить вручную по одному
pip install package_name -U
- Способ 2. Обновите все сразу (высокая вероятность отката, если не удалось обновить какой-либо пакет
pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade
- Метод 3: Обновите один за другим, используя цикл
for i in $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done
Я думаю, что лучший однострочник это:
pip install --upgrade <package>==<version>
Используйте pipupgrade!
$ pip install pipupgrade
$ pipupgrade --latest --interactive
pipupgrade поможет вам обновить вашу систему, локальные или пакеты с requirements.txt
файл! Он также выборочно обновляет пакеты, которые не нарушают изменения. Совместим с Python2.7+, Python3.4+ и pip9+, pip10+, pip18+.
ПРИМЕЧАНИЕ: я автор инструмента.
Откройте командную строку или терминал и используйте синтаксис ниже
pip install --upgrade [package]==[specific version or latest version]
Например
pip install --upgrade numpy==1.19.1
pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')
Как изначально был установлен пакет? Если бы это было через apt, вы могли бы просто сделать apt-get remove python-m2crypto
Если вы установили его с помощью easy_install, я почти уверен, что единственный способ - просто удалить файлы в lib, shared и т. Д.
Моя рекомендация в будущем? Используйте что-то вроде pip для установки ваших пакетов. Кроме того, вы можете найти что-то под названием virtualenv, чтобы ваши пакеты хранились отдельно для каждой среды, а не только для root.
С pip это довольно просто:
pip install m2crypto
Но вы также можете установить из репозитория git, svn и т. Д. С правильным адресом. Это все объясняется в документации пипа
Как я могу полностью удалить версию 0.19.1 из моей системы перед установкой 0.20.2?
Чтобы удалить M2Crypto, используйте
pip uninstall M2Crypto
Мне нужно загрузить, собрать и установить последнюю версию пакета M2Crypto (0.20.2).
Для установки последней версии можно использовать PyPi
pip install M2Crypto
Чтобы установить версию 20.2 (устаревшую), запустите
pip install M2Crypto==0.20.2
Предполагая, что кто-то просто хочет обновить
pip install M2Crypto --upgrade # Or pip install M2Crypto -U
Заметки:
В зависимости от версии Python (вот как найти версию) можно использовать другую команду pip. Допустим, кто-то работает с Python 3.7, а не просто использует
pip
, можно было бы использоватьpip3.7
.С использованием
sudo
считается небезопасным .В настоящее время существуют более эффективные методы управления системой разработки, такие как виртуальные среды или контейнеры разработки. Контейнеры разработки позволяют поместить всю среду разработки (будь то модули, расширения VS Code, библиотеки npm и т. Д.) В контейнер Docker. Когда проект подходит к концу, контейнер закрывается. Нет необходимости хранить все эти требования в компьютере без причины. Если вы хотите узнать об этом больше: Visual Studio Docs, Github .
В блокноте Juptyer очень простой способ
!pip install <package_name> --upgrade
Итак, вам просто нужно заменить на фактическое имя пакета.
Получить все устаревшие пакеты и создать пакетный файл с помощью следующих команд: pip install xxx --upgrade для каждого устаревшего пакета.
То есть:
python -m pip install --proxy <proxyserver_name>:<port#> <pkg_name>
Не забудьте экспортировать переменные после их установки, чтобы сделать их доступными для сеанса внешней оболочки.
Окна:
Добавьте к переменным окружения:
set HTTP_PROXY=<proxyserver_name>:<port#>
Возможно, вам придется сначала установить полный пакет Python.