Команда python3 не найдена после установки python с помощью pyenv

Я установил определенную версию Python с помощью pyenv. При вводе pyenv version в терминале я вижу 3.5.0 (set by /Users/lcherukuri/.python-version). Но когда я набрал python3, я получил python3 command not found. Как это исправить? pip3 Тоже не нашел


person lch    schedule 18.05.2018    source источник
comment
Является ли python частью вашего $PATH? Вы на какой ОС?   -  person    schedule 18.05.2018
comment
вам нужно определить псевдоним для новой среды. Например: gist.github.com/haridas/4966347   -  person anishtain4    schedule 18.05.2018
comment
попробуйте «python» без 3. Возможно, с конкретной средой python даст вам python3   -  person Paula Thomas    schedule 18.05.2018
comment
@ArjunAthreya macOS   -  person lch    schedule 18.05.2018
comment
@PaulaThomas просто python работает. Но он использует версию системы 2.7. мне нужен питон 3.5.0   -  person lch    schedule 18.05.2018


Ответы (4)


Если вы установили и python 2.x, и python 3.x с помощью pyenv, запустите следующее, чтобы обе версии можно было найти глобально (псевдонимы python, python2 и python3).

Добавьте конкретные версии, которые вы используете:

pyenv global 3.8.3 2.7.18
person Zorgatone    schedule 06.07.2020

pyenv — это просто менеджер версий Python. Возможно, он сможет увидеть установленный Python 3.X, даже если python3 не установлен в вашем $ PATH.

Вам нужно добавить python3 к вашему $PATH. Вы можете посмотреть, как это сделать здесь.

По умолчанию MacOS использует python3, чтобы различать предустановленный python (то есть Python 2.7) и любые дистрибутивы Python 3.X, установленные после установки. То же самое касается pip и pip3.

Из документации pyenv по управлению версиями:

Расположение установки Python

После того, как pyenv определил, какую версию Python указало ваше приложение, он передает команду соответствующей установке Python.

Каждая версия Python устанавливается в отдельный каталог $(pyenv root)/versions.

Например, у вас могут быть установлены следующие версии:

$(pyenv root)/версии/2.7.8/

$(pyenv root)/версии/3.4.2/

$(pyenvroot)/версии/pypy-2.4.0/

Что касается pyenv, имена версий — это просто каталоги в $(pyenv root)/versions.

person jmkmay    schedule 18.05.2018

pyenv управляет исполняемыми файлами оболочки для таких команд, как python3 и pip3. Если прокладки pyenv недоступны в вашей оболочке, это обычно означает одно из двух:

  • pyenv не полностью установлен

or

  • функции оболочки pyenv не активны

Поскольку ваша команда pyenv работает, а прокладки - нет, это, скорее всего, означает, что функции оболочки не активированы. На момент написания правильный способ - обеспечить оценку вывода команды инициализации. В macOS вы можете добавить в свой ~/.bash_profile следующее:

eval "$(pyenv init -)"

Старые инструкции по установке могут не включать этот шаг или просто добавить каталог bin pyenv в PATH, чего недостаточно. Если вы использовали pyenv-installer, на этот шаг намекает предупреждение в конце процесса установки.

person Justin Turner Arthur    schedule 12.08.2020
comment
Этот ответ заслуживает награды за количество включенных концепций, логики и контекста. Это избавило меня от стольких страданий. Спасибо. - person Noumenon; 10.02.2021

У меня был python3 в пути. Я также выполнил pyenv global 2.x.x 3.x.x. Но я все еще получил ту же ошибку.

Что в конечном итоге сработало для меня, так это выполнение этой строки в корне проекта (в зависимости от того, какая версия заменяет 3.X.X)

pyenv shell 3.X.X

Примечание. Это устанавливает версию Python для конкретной оболочки, поэтому на самом деле это не решение проблемы. Просто обходной путь, чтобы заставить работать python3.

person Dhiresh Jain    schedule 19.11.2020