Несколько версий Python на одной машине?
Есть ли официальная документация на веб-сайте Python где-то, о том, как устанавливать и запускать несколько версий Python на одной машине в Linux?
Я могу найти gazillions сообщений и ответов в блогах, но я хочу знать, существует ли "стандартный" официальный способ сделать это?
Или это все зависит от ОС?
Ответы
Ответ 1
Я думаю, что он абсолютно независим. Просто установите их, тогда у вас есть команды, например. /usr/bin/python2.5
и /usr/bin/python2.6
. Свяжите /usr/bin/python
с тем, который вы хотите использовать по умолчанию.
В любом случае все библиотеки находятся в отдельных папках (названных в честь версии).
Если вы хотите скомпилировать версии вручную, это из файла readme исходного кода Python:
Установка нескольких версий
В системах Unix и Mac, если вы собираетесь установить несколько версий Python с использованием того же установочного префикса (аргумент -prefix для configure script), вы должны позаботиться о том, чтобы ваш основной исполняемый файл python не был перезаписывается установкой другой версии. Все файлы и каталоги, установленные с помощью "make altinstall", содержат основные и второстепенные версии и, таким образом, могут жить бок о бок. "make install" также создает ${prefix}/bin/python3, который ссылается на ${prefix}/bin/pythonX.Y. Если вы собираетесь для установки нескольких версий с использованием того же префикса вы должны решить, какие версия (если таковая имеется) является вашей "основной" версией. Установите эту версию, используя "make install" . Установите все другие версии, используя "make altinstall".
Например, если вы хотите установить Python 2.5, 2.6 и 3.0 с 2.6 основной версии, вы должны выполнить "make install" в своей версии 2.6 каталог и "сделать altinstall" в других.
Ответ 2
В Windows они устанавливаются для разделения папок "C:\python26" и "C:\python31", но исполняемые файлы имеют одинаковое имя "python.exe".
Я создал другую папку "C:\python", содержащую "python.bat" и "python3.bat", которые служат в качестве оболочек для "python26" и "python31" соответственно, и добавили "C:\python" к PATH
переменная среды.
Это позволяет мне набирать python
или python3
в моих .bat-оболочках Python, чтобы начать то, что я хочу.
В Linux вы можете использовать трюк #!
, чтобы указать, какую версию вы хотите использовать script.
Ответ 3
Как установить разные версии Python действительно зависит от ОС.
Однако, если вы используете Linux, вы можете использовать такой инструмент, как pythonbrew или pythonz, который поможет вам легко управлять и переключаться между различными версиями.
Ответ 4
Обновление 2019: использование asdf
В эти дни я предлагаю использовать asdf для установки различных версий интерпретаторов Python рядом друг с другом.
Примечание 1: asdf
работает не только для Python, но и для всех основных языков.
Примечание 2: asdf
прекрасно работает в сочетании с популярными менеджерами пакетов, такими как pipenv и Стихи.
Если у вас установлено asdf, вы можете легко загрузить/установить новые интерпретаторы Python:
# Install Python plugin for asdf:
asdf plugin-add python
# List all available Python interpreters:
asdf list-all python
# Install the Python interpreters that you need:
asdf install python 3.7.4
asdf install python 3.6.9
# etc...
# If you want to define the global version:
asdf global python 3.7.4
# If you want to define the local (project) version:
# (this creates a file .tool-versions in the current directory.)
asdf local python 3.7.4
Старый ответ: установить Python из исходного кода
Если вам нужно установить несколько версий Python (рядом с основной) в Ubuntu/Mint: (должно работать аналогично в других Unix'ах.)
1) Установите необходимые пакеты для компиляции исходного кода
$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
2) Загрузите и распакуйте нужную версию Python
Загрузите Python Source для Linux в виде tarball и переместите его на /usr/src
.
Распакуйте загруженный пакет на место. (замените 'x на вашу загруженную версию)
$ sudo tar xzf Python-x.x.x.tgz
3) Скомпилируйте и установите исходный код Python
$ cd Python-x.x.x
$ sudo ./configure
$ sudo make altinstall
Ваша новая корзина Python теперь находится в /usr/local/bin
. Вы можете протестировать новую версию:
$ pythonX.X -V
Python x.x.x
$ which pythonX.X
/usr/local/bin/pythonX.X
# Pip is now available for this version as well:
$ pipX.X -V
pip X.X.X from /usr/local/lib/pythonX.X/site-packages (python X.X)
Ответ 5
Лучший способ, который сработал для меня, это использование pyenv!
Команды ниже предназначены для Mac, но очень похожи на Linux (см. ссылки ниже)
#Install pyenv
brew update
brew install pyenv
Допустим, у вас есть основная версия Python 3.6 на вашем Mac:
python --version
Выход:
Python 3.6.4
Теперь установите Python 3.7, сначала перечислите все
pyenv install -l
Давайте возьмем 3.7.3:
pyenv install 3.7.3
Теперь давайте работать только на открытом терминале/оболочке:
pyenv shell 3.7.3
Теперь беги
python --version
Выход:
Python 3.7.3
Unset:
pyenv shell --unset
Вы можете запустить его глобально или локально as well
Ответ 6
Он наиболее сильно зависит от используемой вами системы распределения пакетов. Например, с помощью MacPorts вы можете установить несколько пакетов Python и использовать утилиту pyselect
, чтобы легко переключаться между ними по умолчанию. Во все времена вы можете вызывать разные интерпретаторы Python, предоставляя полный путь, и вы можете связать все библиотеки и заголовки Python, предоставив для них полные пути.
Таким образом, в любом случае, независимо от способа установки версий, при условии, что ваши установки будут раздельными, вы сможете запускать их отдельно.
Ответ 7
Я сделал это с помощью анаконды навигатор. Я установил анаконду навигатор и создал две разные среды разработки с разными версиями Python
и переключаться между различными версиями Python путем переключения или активации и деактивации окружения.
сначала установите навигатор anaconda, а затем создайте окружение.
см. здесь помощь по управлению средами
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Вот видео, чтобы сделать это с Конда
https://youtu.be/EGaw6VXV3GI