Рейтинг:1

Как обновить установку Python и pip?

флаг cn

На моем сервере Ubuntu установлены Python 3.8 и 2-кое-что.

Я хочу перейти на Python 3.10 и установил его из ppa. Но 3.8 все еще установлена, и пип --версия показывает pip 20.0.2 из /usr/lib/python3/dist-packages/pip (python 3.8)

Я попытался запустить скрипт с помощью этой команды: python3.10 myscript.py но это не удается, потому что этот сценарий использует веб-сокеты упаковка. Если я побегу pip установить веб-сокеты пишет, что он уже установлен. Но он не установлен для Python 3.10, только 3.8.

Итак, вкратце: как мне перейти на Python и pip до версии 3.10?

РЕДАКТИРОВАТЬ: это команды, которые я использовал для обновления Python до 3.10.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-получить обновление
sudo apt-get установить python3.10
Nmath avatar
флаг ng
Несколько пакетов Ubuntu используют python. Если вы измените установленную версию, вы можете сломать свою систему.Вместо этого настройте среду Python, которая не испортит всю вашу установку Ubuntu.
ozcnakd avatar
флаг id
Я согласен с @Nmath. Создание virtualenv является более безопасным вариантом.
birgersp avatar
флаг cn
Цените совет. Это то, что я в конечном итоге сделал, и использовал обновленную версию, если Python в виртуальной среде решил проблему, с которой я столкнулся. Спасибо!
Рейтинг:2
флаг id

Есть два варианта

  • Изменение python3 Ubuntu:

    sudo mv /usr/bin/python3 /usr/bin/python3_backup & sudo ln -s /usr/bin/python3.10 /usr/bin/python3

  • Создание виртуального окружения и использование этого окружения python3.10 -m venv venv_folder источник venv_folder/bin/активировать пип .. питон..

После того, как вы закончите свою работу с этой env, вы можете просто набрать деактивировать и venv закроется.

Второй способ — обходной путь.

birgersp avatar
флаг cn
Ваш ответ решил мою первоначальную проблему, но на самом деле он не отвечает на мой вопрос SO. Лучшее, что я могу вам дать, это голосование. Однако, спасибо!
ozcnakd avatar
флаг id
Можете ли вы попробовать python3.10 -m pip установить веб-сокеты? Я также попробую что-нибудь еще после этого, я отредактирую этот комментарий.
birgersp avatar
флаг cn
`python3.10 -m pip install websockets` дал мне `ImportError: невозможно импортировать имя 'html5lib' из 'pip._vendor' (/usr/lib/python3/dist-packages/pip/_vendor/__init__.py)`
ozcnakd avatar
флаг id
@birgersp Я нашел решение. Изменение имени или удаление /usr/bin/python3 и создание символической ссылки на python3.10 обновляет файл python. sudo mv /usr/bin/python3 /usr/bin/python3_backup & sudo ln -s /usr/bin/python3.10 /usr/bin/python3 Если это работает для вас, я могу изменить свой ответ.
birgersp avatar
флаг cn
Кажется, работает!
ozcnakd avatar
флаг id
Хорошо, супер, я отредактировал ответ.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.