Как установить версию Python по умолчанию во FreeBSD?
Я пытаюсь установить узел приложения, но по умолчанию в моей среде установлен python 3 и требуется python 2.6. Как я могу изменить версию Python по умолчанию во FreeBSD?
# cd /usr/local/bin
# ls -l | grep python
-r-xr-xr-x 2 root wheel 1246256 Jul 12 2011 python
-r-xr-xr-x 2 root wheel 1401 Jul 12 2011 python-config
-r-xr-xr-x 2 root wheel 6060 Jul 12 2011 python-shared
-r-xr-xr-x 2 root wheel 1408 Jul 12 2011 python-shared-config
-r-xr-xr-x 1 root wheel 3720 Jul 12 2011 python-shared2.6
-r-xr-xr-x 1 root wheel 1431 Jul 12 2011 python-shared2.6-config
-r-xr-xr-x 2 root wheel 6060 Jul 12 2011 python-shared3.1
-r-xr-xr-x 2 root wheel 1408 Jul 12 2011 python-shared3.1-config
-r-xr-xr-x 1 root wheel 1182056 Jul 12 2011 python2.6
-r-xr-xr-x 1 root wheel 1424 Jul 12 2011 python2.6-config
-r-xr-xr-x 2 root wheel 1246256 Jul 12 2011 python3.1
-r-xr-xr-x 2 root wheel 1401 Jul 12 2011 python3.1-config
3 ответа
Вы могли бы удалить /usr/local/bin/python
и создайте символическую ссылку на Python 2.6:
rm /usr/local/bin/python
ln -s /usr/local/bin/python2.6 /usr/local/bin/python
Вы должны удалить мета-порт Python /usr/ports/lang/python
, Затем установите следующую переменную в /etc/make.conf
:
PYTHON_DEFAULT_VERSION='python3.2'
(Если вы хотите последнюю версию. В качестве альтернативы вы также можете использовать python3.1
, В настоящее время по умолчанию python2.7
.)
Сейчас устанавливаем /usr/ports/lang/python
снова. Обратите внимание, что порты могут запрашивать другую версию python!
Обновление: с октября 2013 года появился новый способ установки версий по умолчанию;
20131003:
AFFECTS: users of lang/python* and ports
AUTHOR: mva@FreeBSD.org
The default versions of lang/python* have been changed to support the
new DEFAULT_VERSIONS variable.
PYTHON_DEFAULT_VERSION, PYTHON2_DEFAULT_VERSION and
PYTHON3_DEFAULT_VERSION are deprecated. If you have set them in your
make.conf, you should change them something like
DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.3
Правильный ответ на FreeBSD 12.0 следующий.
- Создать файл в
/tmp/makePatchPython3.6.patch
со следующим содержанием:
1,2d0
< DEFAULT_VERSIONS += python=3.6
<
Это добавит строку в начало вашего /etc/make.conf
это изменит Python по умолчанию, используемый в системе.
[/usr/ports/lang/python]$ sudo make deinstall
[/usr/ports/lang/python]$ sudo patch /etc/make.conf /tmp/makePatchPython3.6.patch
[/usr/ports/lang/python]$ sudo make reinstall
[/usr/ports/lang/python]$ python --version
Python 3.6.8 # This will be different depending on which python version you install.
mv python python.old
ln -s /usr/bin/pythonX.X /usr/bin/python
в хх напиши свою версию