Оновлення до python 2.7.5 на Ubuntu 12.04


9

Ubuntu 12.04 поставляється python v 2.7.3за замовчуванням. Я хочу оновити його до v 2.7.5. Я спробував інструкції, наведені в цьому запитанні ,

sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz

tar -xvf Python-2.7.5.tgz
cd Python-2.7.5

./configure
make
sudo make altinstall

Остання команда не вдається з помилкою:

...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

Як я можу зробити це оновлення?


3
Ви дуже впевнені, що вам потрібно оновити до 2.7.5? Усі помилки підтримуються в Ubuntu до 2.7.3. Ви дуже хочете врятувати всі головні болі, збираючи з джерела. Укажіть конкретну причину встановлення 2.7.5. На цьому веб-сайті питання про зламану установку Python - це щоденний бізнес, і дуже часто бачити, що це викликано установкою з джерела. Дивіться, наприклад, askubuntu.com/q/323248/88802
gertvdijk

1
Я використовував пакет невірним шляхом, але питання все ще стоїть, і я дійсно не розумію голосування, не надаючи пояснень.
Габріель

Що відбувається, коли sudo make **install**замість нього ти біжиш sudo make **altinstall**? Ви отримуєте таку ж помилку?
Кевін Боуен

Зараз я боюся фактично спробувати ваше рішення, оскільки я чув багато разів, що це зламає мою систему. Я відзначу вашу відповідь прийнятою, оскільки вона виглядає дійсно повною. Дякую.
Габріель

2
@Gabriel Рішення maggotbrain дуже приємне; це дозволяє встановити обрану вами версію в pyenv. На Python вашої системи не завдано жодної шкоди. Я запам’ятаю це для подальших запитань. :)
gertvdijk

Відповіді:


13

Встановлення з джерела, звичайно, можна зробити, але я б вагався оновити пакет python моїх систем Ubuntu з кількох причин:

  1. Це може зламати систему, зробивши пряму компіляцію з джерела (я не зовсім впевнений, як Ubuntu налаштовує свої пакети Python).

  2. Мене б занепокоєло, що можуть виникнути проблеми з використанням модулів із сховищ, що рухаються вперед.

Є PPA, який виглядає активно (потяг 2.7.x востаннє був побудований у квітні цього року), але PPA ще не має 2.7.5. Ви можете скористатись пінг-службою та побачити, які плани планують будувати, і якщо вони збираються включити для 2.7.5. Якщо можливо, я рекомендував би це встановити з джерела. Як і будь-яке нове програмне забезпечення, я б рекомендував спочатку створити це на тестовій системі.

Інший варіант - використовувати пісочницю ( pyenv) для запуску будь-якого нового неперевіреного програмного пакету. Пряма установка на вашу систему може негативно вплинути на роботу вашої машини.

Пакет pyenv дозволить встановити на вашу скриньку несистемну версію Python, не впливаючи на основний пакет Python, встановлений на вашій машині (Знову: ваша система залежить від поточно встановленої версії Python і оновлення може зламати вашу систему). Раніше Pythonbrew був рекомендований для ізоляції пакетів python із системи, але це згодом було вимкнено та замінено pyenvпакетом.

У pyenvпакеті є наступна функціональність:

  • Дозволяє змінювати глобальну версію Python на основі кожного користувача.
  • Забезпечує підтримку версій Python для кожного проекту.
  • Дозволяє змінити версію Python зі змінною середовища.
  • Пошук команд з декількох версій Python одночасно.

Установка

  1. Перевірте pyenv в ~ / .pyenv.

    git clone git://github.com/yyuu/pyenv.git .pyenv
  2. Додайте ~ / .pyenv / bin у свій $ PATH для доступу до утиліти командного рядка pyenv.

    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile

    Zsh note: Змініть ~/.zshenvфайл замість ~/.bash_profile.

  3. Додайте pyenv init до своєї оболонки, щоб увімкнути прокладки та автоматичне завершення.

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    Zsh note: Змініть ~/.zshenvфайл замість ~/.bash_profile.

  4. Перезавантажте оболонку, щоб змінити шлях набрали чинності. Тепер ви можете почати використовувати pyenv.

    exec $SHELL
  5. Встановіть версії Python у ~ / .pyenv / версії. Наприклад, щоб встановити Python 2.7.5, завантажте та розпакуйте джерело та запустіть:

    pyenv install 2.7.5

    ПРИМІТКА Якщо вам потрібно передати параметри конфігурації для створення з джерела, будь ласка, використовуйте змінну середовища CONFIGURE_OPTS.

  6. Побудуйте двійкові шпалери. Ви повинні робити це будь-коли, коли ви встановлюєте нову бінарну програму Python (наприклад, при встановленні нової версії Python або при встановленні пакета, який надає двійковий файл).

    pyenv rehash

1
pyenvє блискучим з багатьох причин. Допомагає мені в експерименті надзвичайно з мінімальними клопотами після початкової установки.
Фахад Юсуф

Це буде запущено з homeпапки конкретного користувача ? Як я можу встановити це для кожного користувача? Можу чи я встановити ./pyenvв /usr/local/binабо це погана ідея?
біологічна небезпека
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.