Как установить версию Python по умолчанию во FreeBSD? - PullRequest
13 голосов
/ 19 февраля 2012

Я пытаюсь установить приложение узел , но по умолчанию в моей среде установлено значение 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

Ответы [ 4 ]

26 голосов
/ 19 февраля 2012

Вы должны удалить мета-порт 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
6 голосов
/ 19 февраля 2012

Вы можете удалить /usr/local/bin/python и создать символическую ссылку на Python 2.6:

rm /usr/local/bin/python
ln -s /usr/local/bin/python2.6 /usr/local/bin/python
0 голосов
/ 25 февраля 2019

Правильный ответ на FreeBSD 12.0 следующий:

  1. Создайте файл в /tmp/makePatchPython3.6.patch со следующим содержимым:
1,2d0
< DEFAULT_VERSIONS += python=3.6
< 

Это добавит к началу строки /etc/make.conf строку, которая изменит используемый по умолчанию питон в системе.

[/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.

0 голосов
/ 19 февраля 2012
mv python python.old

ln -s /usr/bin/pythonX.X  /usr/bin/python

в XX написать свою версию

...