Как исправить ошибку «zsh: команда не найдена: python»? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-run 0.9.7)

Поскольку я получил обновление Monterey 12.3 (хотя не уверен, что это связано), я получаю эту ошибку, когда пытаюсь запустить свой код Python в терминале: Как исправить ошибку «zsh: команда не найдена: python»? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-run 0.9.7)

Я использую python 3.10.3, Atom IDE и запускаю код в терминале через пакет atom-python-run (который раньше работал отлично). Настройки пакета выглядят так: Как исправить ошибку «zsh: команда не найдена: python»? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-run 0.9.7)

Команда which в терминале возвращает следующее (что странно, потому что раньше она возвращала что-то просто which python): Как исправить ошибку «zsh: команда не найдена: python»? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-run 0.9.7)

Я понимаю, что ошибка возникает из-за того, что терминал вызывает python вместо python3, но я супер новичок в любом кодировании и понятия не имею, почему это началось сейчас и как это исправить. Ничто из этого не сработало для меня:

  • Я удалил, а затем переустановил python с python.org.
  • Пробовал alias python='python3' (что видел в одной из тем здесь).
  • Я попробовал export PATH = "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" (который я нашел здесь).
  • Чтобы сбросить zsh и пути, я удалил все связанные скрытые файлы в /local/users/ и снова запустил терминал.
  • Я удалил evetyrhing и переустановил macos и python только для того, чтобы получить ту же ошибку.
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
5
0
3 301
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

ОК, после пары дней попыток, это то, что сработало для меня:

  1. Я переустановил Монтерей (не уверен, что это было необходимо, но я просто подумал, что перепутал терминал и $PATH слишком много).
  2. Я установил python через brew, а не с официального сайта. Он все равно вернет ошибку command not found.
  3. Я запустил echo "alias python=/usr/bin/python3" >> ~/.zshrc в терминале псевдоним python с python3.

Проблема решена.

Насколько я понимаю, в macOS больше нет предустановленного python 2.x с версии 12.3, отсюда и ошибка. Я все еще нахожу странным, что atom-python-run вызывает python вместо python3, несмотря на настройки.

Любой, кто обновит свою macOS до Monterey 12.3, обнаружит, что у него внезапно больше нет системы, поставляемой с Python 2.

Причина этого в том, что Apple удалила системную установку Python 2 (Детали).

Таким образом, обходным путем/решением для этого является использование pyenv для установки python 2.7 (или любой другой конкретной версии, которая вам нужна).

  1. Установите pyenv с brew для управления разными версиями Python: brew install pyenv
  2. Перечислите все устанавливаемые версии с помощью pyenv install --list
  3. Установите Python 2.7.18 с помощью pyenv install 2.7.18
  4. Список установленных версий с pyenv versions
  5. Установите глобальную версию Python с помощью pyenv global 2.7.18
  6. Добавьте eval "$(pyenv init --path)" к ~/.zprofile (или ~/.bash_profile или ~/.zshrc, в зависимости от того, что вам нужно)
  7. Перезапустите оболочку и проверьте, работает ли python.

Я не могу знать, какой метод установки Python вы выберете. Я решил использовать URL-адрес следующим образом: https://www.python.org/ftp/python/3.10.4/python-3.10.4-macos11.pkg

Мой macOS

Darwin Johns-MacBook-Pro.local 21.4.0 Darwin Kernel Version 21.4.0: Mon Feb 21 20:35:58 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T6000 arm64

Да, это последняя версия macOS Silicon.

Затем я следовал инструкциям Python pkg. И я получил zsh: Command not found python.

Не волнуйтесь! Наконец, я решил это, настроив файл ENVIRONMENT.

Я добавил строку alias python=/usr/local/bin/python3.10 в .zshrc. (вы должны быть уверены, что это верный путь!)

Другие вопросы по теме