Когда я набираю «python -V» в моем терминале… почему я вижу Python 2.7.10

1

Я только установил Python3.6 на своем Mac. Я также установил миниконду. Выполняю ли я команду:

$ python -V

в моем домашнем каталоге или конкретном каталоге проекта, выход Python 2.7.10. Почему это не Python 3.6, и как я могу изменить это значение по умолчанию?

  • 3
    В Unix-системах с установленным по умолчанию python2.x при вызове python [args] (в данном случае [args] это -V ) всегда будет использоваться установленная по умолчанию версия python. Поскольку вы установили Python 3, предполагая, что установка добавила python3 в $PATH среды $PATH , вы должны иметь возможность использовать python3 -V и он должен вернуть 3.6.x
  • 0
    запустить $ python3 -V
Показать ещё 4 комментария
Теги:
macos
conda

2 ответа

2

Вероятно, произошло то, что у вас есть 2 версии Python в вашей среде:

  • 3.6, который вы установили вручную
  • 2.7.10, установленный миникондом

По какой-то причине переменная среды для команды python имеет значение 2.7.10, поэтому в вашей оболочке команда python ссылается на версию 2.7, если вы хотите, чтобы она указывала на 3.6, вам нужно обновить переменную пути для команда python.

Если вы хотите управлять другими средами, я предлагаю вам использовать Anaconda/miniconda и настроить виртуальные среды для обоих python 2 и 3, чтобы вы могли переключаться между ними.

Если вас интересует только одна версия python, либо используйте дистрибутив conda или простой Python, так как смешивание вещей часто создает такие проблемы.

Дополнительная информация об управлении средой вируса:

Python: http://docs.python-guide.org/en/latest/dev/virtualenvs/

Anaconda: https://conda.io/docs/user-guide/tasks/manage-environments.html

1

На самом деле это зависит от того, что такое поведение. См. PEP 394 для большего, но, грубо говоря,

  • python2 всегда должен указывать на Python 2.x
  • python3 всегда должен указывать на Python 3.x
  • python в большинстве дистрибутивов сегодня укажет на Python 2.x
  • За исключением нескольких, он указывает на Python 3.x сейчас
  • И на данной системе python может быть переопределен, чтобы указать на Python 3.x
  • И в virtualenv/venv, python может указывать на любой из них, в зависимости от того, как он был настроен

Другими словами, если вы хотите не беспокоиться об этом, используйте вместо python команды python2 и python3.

Хотя, macOS нарушает этот шаблон, устанавливая python без ссылки python2 (есть ссылка python2.7, хотя).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню