Назад | Перейти на главную страницу

Установите python3 с помощью pyenv в Debian Jessie

Я пытаюсь обновить Python 3 до последней версии на Debian Jessie, но я хотел бы сохранить Python 2, установленный в системе. По умолчанию, python команда выполняет Python v2, и python3 команда выполняет Python v3.

python --version
Python 2.7.9
python3 --version
Python 3.4.2

Если я установлю и переключусь, например, на Python 3.6.3 с использованием pyenv:

pyenv install 3.6.3
pyenv global 3.6.3

Теперь оба python и python3 укажите на v3.6.3.

python --version
Python 3.6.3
python3 --version
Python 3.6.3

Как я могу добиться этого? python3 указывает на недавно установленную версию, и python продолжает указывать на установленную в системе Python v2?

проблема здесь в том, что вы выполнили pyenv global $python-version и это определяет окончательный контекст для выполнения этого Python.

В конце концов, вы должны использовать pyenv global 2.7.9, чтобы вернуться в нормальное состояние. но если речь идет только о версиях python по умолчанию, вам просто нужно отключить pyenv. echo "" > /home/$USER/.pyenv/version

Для этого необходимо, чтобы у вас действительно были установлены правильные версии на системном уровне (с sudo apt-get install python3.6 ).

Вы также можете заплатить своим $ PATH, добавив дополнительное местоположение, которое вызывает /bin/python2 вместо этого как символическая ссылка, но я действительно боюсь побочных эффектов вокруг LD_LIBRARY_PATH, особенно с некоторыми дополнительными модулями, но я не тестировал и не копал достаточно побочных эффектов.