Чи буде python2.7 доступний в майбутньому до 10.04?


27

Оскільки Ubuntu 10.04 є версією LTS, чи буде він підтримувати python 2.7 як версію підтримуючого пакета за замовчуванням або принаймні мати пакет python2.7 у майбутньому?

Оскільки це буде останній великий реліз python 2.x і призначений залишитися на місці тривалий час, я вирішив його використати. Я скомпілював це з джерела (після створення деп-файлів, звичайно), але раз у раз я знаходжу невеликі проблеми.

Чи безпечно визначити мій компільований python 2.7 за замовчуванням, оскільки є деякі програми для розповсюдження, які працюють на python.

Відповіді:


16

Ні, визначити 2.7 як інтерпретатора Python за замовчуванням у Lucid не вважається безпечним . І я не думаю, що це буде в майбутньому.

  • Немає великих оновлень версій жодного програмного забезпечення в одному випуску.

    Тож python2.7 не замінить 2.6 як інтерпретатора за замовчуванням. Цей тип оновлення проводиться лише між версіями, в межах однієї, особливо LTS, є лише так звані стабільні оновлення версій, тобто виправлення та оновлення, пов'язані з безпекою.

Однак користуватися python2.7 цілком безпечно, визначаючи інтерпретатора як #!/usr/bin/python2.7та змушуючи користувачів встановлювати його за допомогою make altinstallджерела python, поряд із python2.6


41

Була така ж проблема з VPS, який неможливо оновити до Maverick (навіть нові зображення LTS не завжди доступні вчасно). Відповідь Маріуса зробила трюк, щоб розпочати мене, але його слід розширити:

Додайте до своїх джерел PPA

Якщо ви опинилися в моїй ситуації, прості поради щодо бігу вам add-apt-repositoryне допоможуть. Тож давайте зробимо це по-старому:

  1. Відкрийте файл /etc/apt/sources.list(вам потрібні привілеї root; якщо ви знаходитесь в оболонці, це, ймовірно, означає запуск sudo vim /etc/apt/sources.list).

  2. Перейдіть до кінця файлу (якщо використовується vim, перейдіть у режим вставки натисканням i) та додайте наступні рядки:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    
  3. Збережіть та вийдіть (in vim: type :wq) та поверніться до оболонки.

  4. Введіть наступне (ви можете знайти правильний ключ у PPA ; це частина після косої риски у "Технічних деталях" - переконайтеся, що ви отримали потрібну):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. Тепер введіть наступне, щоб оновити свій вихідний список:

    sudo apt-get update

Встановіть і налаштуйте Python 2.7

  1. Відкрийте оболонку на своєму сервері та введіть наступне:

    sudo apt-get install python2.7 python2.7-dev
  2. Щоб налагодити easy_installроботу, distributeзнайдіть сценарій вашої програми:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
  3. Нарешті, ви хочете pipі virtualenvпрацюєте, якщо плануєте зробити щось серйозне:

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    

Налаштування virtualenv

  1. Створіть папку для нового середовища та відкрийте її:

    mkdir my_env && cd my_env
  2. Створіть саме віртуальне середовище (крапка вказує, що поточний каталог є місцем оточення, замініть його правильним шляхом, якщо ви пропустили попередній крок):

    virtualenv --no-site-packages --python=python2.7 .
  3. Активуйте оточення. Ви помітите швидкі зміни оболонки для відображення активного середовища:

    source bin/activate
  4. Що б ви не робили зараз у цій оболонці, вони використовуватимуть скрипти в binпапці віртуальної середовища та пакети Python цього середовища. Пам’ятайте, що цей варіант --no-site-packagesозначає, що ви починаєте з мінімального набору пакетів (включаючи pip, однак), тому вам потрібно встановити всі необхідні вам пакети.

  5. Закінчивши, відключіть середовище (це команда, розпізнана в активному середовищі):

    deactivate

Ви також можете встановити пакети у віртуальне середовище, передавши -Eпараметр в pip(наприклад, pip install some-package -E /path/to/virtual/environmentдля встановлення some-packageу віртуальне середовище на заданому шляху). Майте на увазі, що у вас встановлено кілька різних версій, що pipвідповідають різним версіям Python.

Це хороша ідея, pip-2.7якщо ви хочете встановити пакети для Python 2.7 під час роботи поза віртуальним середовищем ( --python=python2.7опція, яку ми передали, virtualenvозначає, що віртуальна середовище буде використовувати версії Python 2.7 інструментів, які вона надає, тому вам не доведеться турбуйся про це).


1
У моєму випадку я вже встановив pip для 2.6, і мені довелося easy_install-2.7 -U pipзмусити встановити версію 2.7. Але дякую, це чудова допомога!
Гейб Мутхарт

2
Крок 2 у розділі "Встановити та налаштувати Python 2.7" мені довелося зробити wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. А потім дістати піп sudo python2.7 -m easy_install pipза ним sudo python2.7 -m easy_install --upgrade pip. Параметр --no-check-сертифікат був необхідний, щоб уникнути скарги від wget щодо SSL-сертифіката. (Див. Pypi.python.org/pypi/setuptools#unix-wget )
zlovelady


2

Це вирішило всілякі проблеми, які у мене виникли /programming/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .

Тепер libpython2.7.so.1.0посилання на мій python2.7 і т. Д. Все здається щасливішим.

Останній твір, який мені знадобився, щоб це зрозуміти, - це mod_wsgiвстановлення. Якщо ви просто видаєте:

$ apt-get install libapache2-mod-wsgi

Тоді це буде складено для Python2.6 :(

$ ldd /usr/lib/apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

Тому я дотримувався інструкцій, наданих тут Горком-Зопе .

У мене нарешті працює сервер. Дякую.


1

Я не думаю, що так потрібно буде змінити багато програм і бібліотек, пов'язаних з версією 10.04. Насправді багато роботи в Ubuntu зроблені за допомогою певної версії python. Змінивши його на python, змінило б багато системних файлів.

Для 10.10 він доступний із синаптики / здатності, просто встановивши python2.7 (ви також можете встановити 3 та 3.1), але для 10.04 не зроблено жодної роботи, щоб зробити це 10.04.

10.10 за замовчуванням має python 2.6. Вибачте, якщо відповідь не була позитивною, але я просто хотів дати вам уявлення про зміни.

EDIT - Змінено Python 2.7 на Python 2.6 за замовчуванням, оскільки його двічі перевірено з коментарів нижче. Дякую.


Я щойно перевірив 10.10 у віртуальному вікні, він має python 2.6.6 за замовчуванням, хоча для maverick доступні 2,7 пакети. Я думаю, його 11.04, який має його за замовчуванням. Я, як правило, продовжую оновлювати та змінювати дистрибутиви, але розраховував дотримуватися 10.04 для його довгострокової підтримки та моїх налаштувань.
crodjer

так, у 11,04 за замовчуванням за кілька днів
Стефано Палаццо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.