Установка 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