Назад | Перейти на главную страницу

Какой самый быстрый способ установить Python 2.6 на сервер Ubuntu 8.04?

Я только что настроил сервер Ubuntu, и, похоже, он поставляется с Python 2.5. Я разрабатываю свое приложение на Python 2.6, но apt-cache search ^python похоже, не содержит 2.6. Какой самый быстрый способ обновить репозитории apt-get просматривает, чтобы включить тот, который имеет Python 2.6?

(Ответ смешанный в ответах / ответах-комментариях: самый быстрый способ - перейти на Ubuntu 9.04 или новее)

apt-get update; apt-get install python2.6

у меня работает [веселый], но у вас может быть более старая версия ubuntu. немного поиграйте с /etc/apt/sources.list и apt-get distr-upgrade, как описано Вот.

Если пакет недоступен в вашей версии Ubuntu, довольно легко выполнить резервное копирование пакета из более новой версии. Например:

Начнем с установки некоторых пакетов, необходимых для сборки любого пакета:

apt-get install build-essential devscripts

Далее получаем исходную упаковку. В этом случае мы переходим к http://packages.ubuntu.com/jaunty/python2.6 и посмотрите справа и увидите три ссылки в разделе «Загрузить исходный пакет». У вас должны получиться файлы .tar.gz, .diff.gz и .dsc.

Далее распаковываем исходники:

dpkg-source -x python2.6_2.6.2-0ubuntu1.dsc

Это распакует все в каталог. Если вы перейдете в этот каталог и посмотрите, сможем ли мы собрать его с установленными в настоящее время пакетами.

debuild -us -uc -b

Это либо займет некоторое время, либо вы создадите несколько пакетов в каталоге над исходным каталогом. В качестве альтернативы он будет жаловаться на отсутствие зависимостей сборки. Если вам повезет, вы можете просто установить их и снова попробовать собрать пакет. Если вам не повезло, пакет требует обновленного пакета. Вы можете попробовать выполнить ту же процедуру, чтобы построить зависимость сборки, или вы можете попробовать изменить версию зависимости в debian / control. Я бы сделал последнее только в том случае, если вы обнаружите, что собираете слишком много пакетов, поскольку упаковка не была протестирована с этими изменениями.

Получив пакеты, вы можете запустить

dpkg -i foo.deb bar.deb

Если он жалуется на зависимости, вы можете запустить:

apt-get install -f

который должен решить ваши проблемы с зависимостями. Если этого не произойдет, вам может потребоваться выполнить перенос дополнительных пакетов.

Для Ubuntu есть пакет Python 2.6, http://packages.ubuntu.com/search?keywords=python2.6, но только для jaunty и karmic выпускает. Вы могли бы схватить .deb файл и установить его на предыдущие версии, но все может сломаться ..

Если apt-get подводит вас, компиляция из исходников тривиальна:

# change this to latest on http://python.org/download/
PY_TWOSIX="http://python.org/ftp/python/2.6.2/Python-2.6.2.tgz"

# Required to compile anything - this is the only Ubuntu specific line
sudo apt-get install build-essential

# Download/extract the Python source file set in PY_TWOSIX
cd /tmp/
wget $PY_TWOSIX -O py.tgz
gunzip py.tgz
tar -xf py.tar
cd Python-*

# Configure, build and install it into /usr/local/python/2.6.2/
./configure --prefix=/usr/local/python/2.6.2
make
sudo make install

# Link python binary into /usr/local/bin/ as python2.6
sudo ln -s /usr/local/python/2.6.2/bin/python /usr/local/bin/python2.6
# you can also at add the directory to your $PATH rather than using sym-links

Конечно, вы должны попытаться установить все через диспетчер пакетов (чтобы вы получали автоматические обновления и тому подобное), но я стараюсь хранить старые версии Python и помещать их в /usr/local/python/ не должен мешать apt-get вообще.

В Ubuntu 8.04 вам может потребоваться найти репозиторий портов для apt-get. Поэтому рекомендуется устанавливать с исходным кодом. В Ubuntu 9.04 и 10.04 стандартным является python2.6.

Какая это версия Ubuntu? Здесь есть (правда, очень старый) пост на StackOverflow, в котором предлагается делать это из источника, но это зависит от вашей версии: Вот

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

Следующее сработало для меня с небольшими вариациями:

% sudo apt-get install python2.6-minimal