Я хотел бы узнать, как обновить установку python по умолчанию (2.5.2), поставляемую с ubuntu 8.04, до python 2.6rc2. Я хотел бы сделать 2.6 версией python по умолчанию в системе и перенести все другие полезные установленные библиотеки python, установленные на 2.5.2, на python 2.6rc2. Пожалуйста, дайте мне знать, как я могу этого добиться.
Спасибо Дирк






С предупреждением о том, что я считаю крайне плохой идеей заменять Python по умолчанию невыпущенной бета-версией:
Сначала установите 2.6rc2. Вы можете скачать исходник с сайта Веб-сайт Python. Стандартный стиль установки ./configure && make && sudo make install.
Затем удалите символическую ссылку /usr/bin/python. Удалите нет/usr/bin/python2.5. Добавьте символическую ссылку на 2.6 с ln -s /usr/local/bin/python2.6 /usr/bin/python.
Еще раз считаю, что это ужасная идея. Почти наверняка есть лучший способ делать то, что вы пытаетесь достичь.
Перенос установленных библиотек - гораздо более длительный процесс. Посмотрите каталоги /usr/lib/python2.5/site-packages/ и /usr/local/lib/python2.5/site-packages/. Все установленные в них библиотеки необходимо будет переустановить с 2.6. Поскольку вы не используете упакованную версию Python, вы не можете использовать пакеты Ubuntu - вам придется вручную обновить все библиотеки. Большинство из них, вероятно, можно установить с помощью sudo easy_install <name>, но некоторые, такие как PyGTK +, не так просты. Для каждой такой библиотеки вам нужно будет выполнить процедуры выборочной установки.
не будут ли параметры компиляции по умолчанию просто добавить его в / usr / local / bin (который он затем мог бы переименовать в python26), оставив символическую ссылку / usr / bin, указывающую на python2.5?
В сценариях оболочки обычно используется #! / Usr / bin / python, а не #! / Usr / bin / env python. Потому что в этом случае ссылку в / usr / bin необходимо заменить.
На самом деле, правильный способ (если вы ориентируетесь на конкретную версию) - #! / Usr / bin / env python2.6
Джереми: Я прочитал исходный вопрос, в котором говорилось, что он хотел изменить глобальное значение по умолчанию для скриптов, использующих Python 2.6.
В этом есть необходимость?
Ubuntu, как правило, не упаковывает релизы RC. 2.6 не будет доступна в Ubuntu до Jaunty Jackalope.
Однако, если вы настаиваете на его установке, вам придется сделать это без диспетчера пакетов.
Загрузите пакет и разархивируйте его в каталог
выполните следующие команды (ожидая, пока каждая из них закончит, когда вы это сделаете)
./configure
make
sudo make install
Вот он у вас установлен.
Лучше сначала подождать, пока он будет упакован, особенно потому, что Python используется во многих внутренних компонентах Ubuntu, поэтому может ужасно сломать вашу систему.
Было бы неразумно менять версию Python по умолчанию, то есть то, что вы получаете, когда вводите «python» в оболочку. Однако у вас может быть установлено несколько версий python. Уловка состоит в том, чтобы убедиться, что программа с именем "python" в пути является версией, поставляемой системой. Если вы хотите запустить установку Python 2.6, вам нужно ввести python2.6 в оболочку, чтобы запустить ее.
Загрузите пакет и разархивируйте его, затем запустите:
./configure
make
sudo make install
ls -l /usr/local/bin
Вы должны увидеть файлы python и python2.6, созданные в день запуска make install; удалите файл python. Затем при запуске python будет запущена стандартная системная версия Python из /usr/bin, а при запуске python2.6 вы получите свой новый блестящий python 2.6rc2. Python отображает версию при запуске интерактивного интерпретатора.
У меня такая же проблема, и, по-видимому, здесь можно найти готовые двоичные файлы:
# Python 2.6
deb http://ppa.launchpad.net/doko/ubuntu intrepid main
deb-src http://ppa.launchpad.net/doko/ubuntu intrepid main
Добавил эти строки в мой /etc/apt/sources.list и выпустил sudo apt-get update && sudo apt-get install python2.6, который вернул следующее: The following packages have unmet dependencies: python2.6: Depends: libsqlite3-0 (>= 3.5.9) but 3.4.2-2 is to be installed. Не вдаваясь в подробности, похоже, что это будет довольно долгий процесс, который может нарушить работу других пакетов и зависимостей. По крайней мере, на Ubuntu 8.04.
Заменять установку Python по умолчанию - действительно плохая идея. Просто установите python 2.6 отдельно в другой каталог.