Python 3.2 върху Debian 6.0 Squeeze

  1. Може и да не заинтересува твърде много хора, но все пак според мен си заслужава да се отбележи. Вчера вечерта с Евгени Кунев си говорихме за това, че на неговата инсталация на Debian Squeeze няма пакет python3.2, та му се е наложило да го компилира от сорс. Аз се зачудих защо, по дяволите, python3.2 го няма в squeeze-backports при положение, че го има в unstable и в testing; малко по-късно вчера вечерта се сетих и за отговора, съвсем прост:

    В *-backports не влизат пакети, които могат да бъдат инсталирани направо от testing :)

    Така че решението е сравнително просто:

    "1. Добавяте testing в /etc/apt/sources.list (копирате всички редове, които съдържат "squeeze", и заменяте "squeeze" с "testing")

    "2. Обновявате информацията на APT за пакетите, които ги има тук-там:

    apt-get update

    (разбира се, ако ползвате някакъв package manager от по-високо ниво, като synaptic или някакъв software center или нещо такова, има други начини да се направи това)

    "3. Инсталирате python3.2 от testing:

    apt-get install -t testing python3.2 python3.2-minimal libdb5.1

    (да, налага се да бъдат взети още два пакета, които по времето на Squeeze все още ги е нямало)

    Това би трябвало да даде работеща система с работещ Python 3.2. Ако някой го пробва и не се получи, кажете какви са проблемите; ако се наложи, ще видя какво може да се направи за "истински" backport на python3.2 към Squeeze.

    Публикувано преди
  2. Хайде и аз да добавя нещо по темата, пък може и така да я разширим.

    За тези от вас, които използват Ubuntu, но искат да имат python 3.2, а не стандартния 3.1.2, който е включен в последната версия на Ubuntu (10.10).На Ubuntu си му трябват старите версии :D, така че можете да инсталирате python 3.2 "паралелно" на тях.

    Естествено трябва да си компилирате инсталацията.Можете да си свалите, която и да е версия на python от:

    http://www.python.org/download/releases/

    За да можете да си компилирате python ще ви трябват и няколко други пакета:

    sudo apt-get install build-essential libncursesw5-dev \
      libreadline5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev \
      tk-dev

    След това:

    ./configure
    
    make
    
    sudo make altinstall

    Опцията "altinstall" ще го инсталира "паралелно".Така python 3.2 интерпретатора ще е: python3.2, с python3 ще използвате 3.1.2 интерпретатора, а с python - 2.6.

    Освен това ако искате да използвате последната development версия, можете да си я check-out-вате от време на време:

    svn checkout http://svn.python.org/projects/python/branches/py3k

    и да си го компилирате, но това е само за тези, които знаят какво правят ;) :D (Не че аз съм от тях или толкова "на гъсто" с Python :D ) Като за край искам да добавя, че ако искате да изпълнявате даден .py файл с определен python, можете да дефинирате коя версия да се използва на първия ред на му ред с:

    #!/usr/bin/python3.2

    Надявам се да съм ви бил полезен.

    Публикувано преди
  3. Хммм, не може ли и в Ubuntu да се инсталира пакет python3.2, може би и от по-скорошна версия? Според http://packages.ubuntu.com/search?keywords=python3.2 го има в natty.

    (и, да, в цялата тази тема става дума за инсталиране на 3.2 паралелно със "стандартно"-използваните версии във вече работещата инсталация на ОС)

    Публикувано преди
  4. Да има го в natty, но това все още не е официален "release", и да акцентирах на това, че така може да се инсталира всяка версия на Python.

    Публикувано преди
  5. Е, то и това, което аз обяснявах, беше как да инсталираме върху официално излезлия Debian 6.0 Squeeze пакет от все още в процес на тестване Debian testing :) Идеята ми беше, че... но не, не му е тук времето и мястото да обяснявам защо според мен е по-добре да се инсталира софтуер от официалните хранилища на дистрибуциите/ОС, който е направен така, че да работи "както трябва" с тази ОС или тази нейна дистрибуция, отколкото да се компилира на ръка.

    Иначе на практика същата процедура, която си описал за Ubuntu, важи и за компилиране от изходен код под Debian, и все пак е добре хората да знаят как става, ако решат или ако им се наложи. Идеята на пускането на тази тема беше да покажа поне на Евгени Кунев, а може би и на други хора, които биха се интересували, че всъщност няма нужда от това :)

    Публикувано преди
  6. Тя, тая процедура не важи само за Ubuntu или Debian или т.н. ... Иначе относно "stable releases" и кое и от къде да се инсталира... Всеки, който знае какво прави, да си прави каквото знае. :D На мен например много ми харесва Arch философията/идеата, та дори и LFS.Идеята ми беше да кажа на хората, че могат да си инсталират която си версия искат "паралелно" на какъвто и да е набор от други версии.

    Поздрави,

      Борислав.
    
    Публикувано преди
  7. @Петър: Всъщност интересен въпрос, който ми хрумва е, инсталираният from source питон как може да се разкара чисто, тъй като ровейки по свалените от python.org неща не ми попадна скрипт за uninstall, нито намерих описание в README-тата. Не че приключенското у мен не ме подтиква да чета install.sh и да видя дали мога да reverse-engineer-на процеса, ама подозирам, че има по-лесен и чист начин :) Иначе доста логично звучи, ако това което ти трябва може да се получи от официалните репота да се ползва от там, най-малкото щото ако е лошо и счупи нещо винаги може да го почистиш с apt/synaptic/etc... според вкуса ти :)

    Публикувано преди

Трябва да сте влезли в системата, за да може да отговаряте на теми.