Я пытаюсь обновить 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, особенно с некоторыми дополнительными модулями, но я не тестировал и не копал достаточно побочных эффектов.