Как изменить команду python3 на python - PullRequest
0 голосов
/ 15 октября 2019

Я новичок в Linux, и мне нужно работать с компьютером Linux, который был только что отформатирован. я связан этот сервер через SFTP. ранее, перед форматированием этого сервера, я использовал команды 'python' и 'pip' при работе с python. но теперь кажется, что 'python' использует 2.7 и ему нужно использовать 'python3' для доступа к python 3.7.

уверен, что ранее команда 'python' использовала версию 3.6

pip - это еще одна проблема. pip в этом относится к 2.7 аналогично и pip3 к 3.X, но даже если я использую эти команды с 3, ошибка обновления pip смущает меня.

>     You are using pip version 8.1.1, however version 19.3 is available.
>     You should consider upgrading via the 'pip install --upgrade pip' command.

я попытался использовать команду

pip3 install --upgrade pip

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

>     File "/usr/bin/pip", line 9, in <module>
>         from pip import main
>     ImportError: cannot import name main

я не знаю какчтобы исправить это или, может быть, я должен был просто игнорировать предупреждение. Может кто-нибудь, пожалуйста, объясните мне, что происходит, и, пожалуйста, дайте мне знать, как я могу заставить это работать с 'python' и 'pip' снова, если возможно

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Итак, причина, по которой у вас установлены две версии Python, заключается в том, что обе они все еще используются. Однако вы можете изменить это, если хотите. Вы можете заставить команду 'python' обращаться к python3 и изменить команду для python2 или вообще удалить python2.

Делайте это с осторожностью, многие ваши программы могут использовать python и могут означать python2, когда они используюткоманда "питон". Эти программы могут не работать на python3, и это может сломать вашу систему. Обратитесь к это , если вы хотите узнать больше. Сделайте резервную копию ваших файлов, прежде чем что-то делать

Команды в Linux - это на самом деле просто сценарии, которые выполняются при их вводе. Итак, команда «python3» действительно ссылается на скрипт с именем «python3» на вашем компьютере. Чтобы запустить его с помощью команды «python», вам нужно просто переименовать скрипт с именем «python3» в «python». Чтобы найти, где хранится этот скрипт или файл, введите команду -

which python3

. Она сообщит вам местоположение файла python3, а затем вы можете просто переименовать его в python. Для этого перейдите в каталог и измените имя с помощью команды mv с помощью sudo. Пример на моей машине ($ - это приглашение, а> означает вывод на терминале) -

$ which python3
> /usr/bin/python3
$ cd /usr/bin/
$ sudo mv python3 python

Сделайте то же самое для pip

Если вы хотите изменить команду для python2, тогда простоследуйте вышеописанной процедуре. Если вы хотите удалить его, что я настоятельно советую вам не делать, потому что это может сломать несколько вещей, то выполните следующую команду

sudo apt purge python

Выполните указанную выше команду, прежде чем изменить имя переименования python3 на python.

1 голос
/ 15 октября 2019

Подобные проблемы с версиями действительно распространены.

python3 и pip3 могут относиться к различным версиям / установкам python. Вот почему лучше использовать виртуальные среды, поскольку это гарантирует, что все в виртуальной среде использует одну и ту же установку Python.

Вот что я бы посоветовал вам сделать: 1) Сначала используйте python3Для установки вам необходимо установить virtualenv или любой другой виртуальный менеджер env. Я предполагаю, что вы используете virtualenv

2) Затем вы должны убедиться, что для установки virtualenv

python3 -m pip install virtualenv

3 вы используете pip, соответствующий вашей установке python3) Теперь используйте virtualenv для создания новой среды. Поскольку virtualenv устанавливается вместе с python3, в среде python также должен быть python3

4) Активировать среду и использовать python --version и pip --version для проверки версии python и pip в среде

Каждый раз, когда вы работаете над новым проектом, в идеале вы должны создавать новую среду для предотвращения проблем с версиями.

...