Установка Python 3.0 на Cygwin

Вопрос

Каков правильный способ установки Python 3.0 вместе с Python 2.x с помощью Cygwin?

Примечания

У меня уже есть рабочая копия Cygwin, а Python 2.x установлен в Cygwin (/lib/python2.x, not c:\python2.x).

Кроме того, я хотел бы иметь возможность вызвать python 3 отдельно (и только намеренно), оставив python, указывая на Python 2.x, чтобы сохранить существующие зависимости. Я хотел бы использовать python30 или альтернативу.

Любые указатели на руководства по этому предмету будут высоко оценены. Я не могу найти его ни на сайте cygwin, ни на python.org.

Ответы

Ответ 1

Стандартная make install цель источников Python 3.0 не устанавливает бинарный файл python. Вместо этого сделайте печать в конце

* Note: not installed as 'python'.
* Use 'make fullinstall' to install as 'python'.
* However, 'make fullinstall' is discouraged,
* as it will clobber your Python 2.x installation.

Так что не беспокойтесь.

Если вы легко хотите удалить всю установку, сделайте что-то вроде configure --prefix=/usr/local/py3

Ответ 2

По состоянию на вчера (ср. 25 июля 2012 г.), Python 3.2.3 включен в стандартный установщик Cygwin. Просто запустите Cygwin setup.exe снова (скачайте его с cygwin.com, если вам нужно), и вы должны иметь возможность выбирать и устанавливать его, как и любой другой пакет.

Это будет установлено как python3, оставив любую существующую установку 2.x на месте:

$ python -V
Python 2.6.8
$ python3 -V
Python 3.2.3
$ ls -l $(which python) $(which python3)
lrwxrwxrwx 1 me Domain Users 13 Jun 21 15:12 /usr/bin/python -> python2.6.exe
lrwxrwxrwx 1 me root         14 Jul 26 10:56 /usr/bin/python3 -> python3.2m.exe

Ответ 3

Чтобы использовать Python 3 неинтрузивным образом, если у вас его еще нет, создайте файл с именем ".bash_profile" в домашнем каталоге пользователя.

Настройте псевдоним, указывающий на установку Python 3. На моей машине Windows это выглядит так:

alias python3=/cygdrive/d/apps/Python31/python
export python3

Отрегулируйте путь в соответствии с местом установки вашей установки, и если в Windows будьте осторожны, чтобы убедиться, что вы используете разрывы строк UNIX, или вы получите сообщение, такое как "bash: $'\ r': command не найден".

Теперь вы можете использовать команду "python3", и вы не изменили версию Python, которая поставлялась с Cygwin.

Ответ 4

В мире Perl я всегда устанавливаю свой собственный с префиксом:

./configure --prefix=/usr/local/perl/5.10.0

Я никогда не хочу иметь дело с тем, что Perl приходило с моей ОС, поскольку я не хочу устанавливать библиотеки для него и, возможно, создавать скрипты, написанные в ОС.

Я делаю то же самое для Cygwin, так как мне гораздо удобнее устанавливать мои собственные модули и не беспокоиться о том, что обновление Cygwin будет их уничтожать.

Если и когда я изучу Python (я бы хотел), я намереваюсь сделать то же самое.

Таким образом, я могу самостоятельно обновлять отдельные приложения из одной версии в другую.

Для действительно серьезных приложений (например, крупного веб-приложения) я могу даже сделать автономную установку, принадлежащую пользователю, посвященному приложению.

Ответ 5

вместо вызова python из командной строки просто вызовите python3 следующим образом:

python3 script1.py