Официальные несколько версий Python на одной машине?
есть ли официальная документация на веб-сайте Python где-то, о том, как установить и запустить несколько версий Python на одной машине в Linux?
Я могу найти gazillions сообщений в блоге и ответов, но я хочу знать, есть ли "стандартный" официальный способ сделать это?
или это все зависит от ОС?
5 ответов:
Я думаю, что это абсолютно независимые. Просто установите их, то у вас есть команды, например,
/usr/bin/python2.5
и/usr/bin/python2.6
. Ссылка/usr/bin/python
на тот, который вы хотите использовать по умолчанию.все библиотеки находятся в отдельных папках (названных в честь версии) в любом случае.
Если вы хотите скомпилировать версии вручную, это из файла readme исходного кода Python:
установка нескольких версий
на системах Unix и Mac, Если вы планируется установить несколько версий Python использование одного и того же префикса установки (--prefix аргумент для настройки скрипт) вы должны позаботиться о том, чтобы ваш основной исполняемый файл python не был перезаписывается при установке другой версии. Все файлы и каталоги, установленные с помощью "make altinstall" содержат основные и второстепенные версия и может таким образом жить бок о бок. "make install" также создает ${префикс}/bin/python3, который относится к ${префикс}/bin / pythonX.Ю. Если вы намерены к установите несколько версий, используя один и тот же префикс, который вы должны решить версия (если есть) - это ваша "основная" версия. Установите эту версию с помощью "make install". Установите все остальные версии с помощью "make altinstall".
например, если вы хотите установить Python 2.5, 2.6 и 3.0 с 2.6 будучи основная версия, вы бы выполнить "make install" в вашем 2.6 построить каталог и "сделать altinstall" в других.
В Windows они устанавливаются в отдельные папки, "C:\python26-и ...C:\python31", но исполняемые файлы имеют тот же " python.ехе" имя.
Я создал еще один "C:\python" папка, которая содержит " python.летучая мышь " и " python3.летучая мышь", которые служат в качестве обертки для "python26" и "python31" соответственно, и добавил "C:\python-к
PATH
переменные среды.Это позволяет мне типа
python
илиpython3
в моем .bat Python обертки, чтобы начать один я жаждать.на Linux, вы можете использовать
#!
трюк, чтобы указать, какую версию вы хотите использовать скрипт.
Если вам нужно установить несколько версий Python (рядом с главным) на Ubuntu / Mint:(должно работать аналогично на других Unixs'.)
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 Source
$ 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)
Как установить различные версии Python действительно зависит от ОС.
однако, если вы находитесь на linux, вы можете использовать такой инструмент, как pythonbrew или pythonz, чтобы помочь вам легко управлять и переключаться между разными версиями.
Это наиболее сильно зависит от используемой системы распространения пакетов. Например, с помощью MacPorts можно установить несколько пакетов Python и использовать
pyselect
утилита для переключения по умолчанию между ними с легкостью. В любое время вы можете вызвать различные интерпретаторы Python, предоставив полный путь, и вы можете связать все библиотеки и заголовки Python, предоставив полные пути для них.Так что в принципе, независимо от того, как вы устанавливаете версии, пока вы держите свои установки отдельно, вы сможете запускать их отдельно.