# List all versions of python interpreters available to install: pyenv install -l # List all versions of CPython (the default interpreter) available to install: pyenv install -l | grep -E '^\s*[0-9]' # Install specified version. In this case it installs 3.12.6 pyenv install 3.12.6 # List versions installed locally: pyenv versions # See global version pyenv global # Set global version to x.x.x; in this case it sets to 3.12.6 pyenv global 3.12.6 # See local version pyenv local # Set global version to x.x.x; in this case it sets to 2.7.18 pyenv global 3.12.6
По состоянию на сентябрь 2024 года управление различными языковыми версиями и интерпретаторами является своего рода серой зоной в мире Pythonic, но, конечно, у сообщества есть «неофициальные» решения, которые позволяют обойти эту проблему.
Одним из особенно хороших является PyEnv, который во многом заимствован из решений Ruby для управления версиями, с которыми Ruby справляется очень хорошо.
PyEnv — это, по сути, набор сценариев оболочки, которые помогают установить и выбрать конкретную версию или интерпретатор Python как в глобальной, так и в локализованной области действия.
Он работает путем вставки каталога прокладок в PATH и перехеширует прокладку в соответствии с конкретными условиями, чтобы сопоставить двоичный файл Python (а также другие настройки, такие как сопоставление pip, переключение среды PYTHON_VERSION и т. д.).
В этом руководстве основное внимание будет уделено MacOS и дистрибутивам Linux семейства Debian, а также будет рассмотрена настройка как на bash, так и на zsh. Это не касается pyenv-win.
Предполагается, что установлены homebrew и xcode-tools.
Первая строка установит зависимости для установки и сборки версий Python.
Вторая строка установит сам pyenv.
Третья строка является необязательной и добавит загрузку pyenv перед запуском Brew, чтобы избежать ложного положительного предупреждения при запуске Brew Doctor и ошибок в случае, если вы разрабатываете пакеты Brew Python. Обратите внимание, что он помещается в .zshrc, на вашем Mac уже должен быть включен zsh по умолчанию, если только это не более старая машина, и в этом случае вам, вероятно, следует добавить его в .bash_profile.
brew install openssl readline sqlite3 xz zlib tcl-tk && \ brew install pyenv \ && echo "alias brew='env PATH=\"${PATH//$(pyenv root)\/shims:/}\" brew'" >> ~/.zshrc
Сначала установите зависимости.
Затем клонируйте общедоступный репозиторий в $HOME/.pyenv.
sudo apt update && sudo apt install build-essential \ libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl git \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev && \ git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv
Добавьте это в соответствующий файл конфигурации оболочки: .bash_profile, если вы используете bash, .zshrc, если вы используете zsh. Если вы не уверены, выясните это с помощью echo $SHELL.
## pyenv configs export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi
Наконец, обновите среду терминала, чтобы увидеть изменения с помощью команды «$SHELL».
После этой настройки ваш Python (не Python3!) будет сопоставлен с вашей версией Python, настроенной с помощью pyenv.
Я бы рекомендовал вам затем установить версию Python (см. ссылку на команду выше) и настроить ее как глобальную версию.
Убедитесь, что все работает с Python --version, чтобы увидеть, соответствует ли ваша установленная версия той, которую вы выбрали. Если это не так, скорее всего, он все еще указывает на системные настройки по умолчанию, поэтому вы, возможно, пропустили один из шагов ниже (вероятно, часть обновления терминала, закрытия и повторного открытия окна терминала, если вы не знаете, что делать). ).
Удачи с более разумным управлением версиями Python!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3