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
Как я могу сделать это обновление?
sudo make **install**
вместоsudo make **altinstall**
? Вы получаете ту же ошибку?Ответы:
Конечно, можно выполнить установку из исходного кода, но я не решусь обновить пакет python для моих систем Ubuntu из исходного кода по нескольким причинам:
Это может сломать систему, выполнив прямую компиляцию из исходного кода (я не совсем уверен, как Ubuntu настраивает свои сборки пакетов Python).
Я был бы обеспокоен тем, что могут возникнуть проблемы с использованием модулей из репозиториев в будущем.
Есть PPA, который выглядит активным (поезд 2.7.x был последний раз построен в апреле этого года), но у PPA пока нет сборки 2.7.5. Возможно, вы захотите проверить связь с сопровождающим и посмотреть, каковы его планы относительно будущих сборок, и если они собираются включить один для 2.7.5. Если возможно, я бы порекомендовал это над установкой из источника. Как и с любым новым программным обеспечением, я бы рекомендовал сначала создать его на тестовой системе.
Другой вариант - использовать песочницу (
pyenv
) для запуска любого нового непроверенного программного пакета. Прямая установка на вашу систему может отрицательно повлиять на работу вашей машины.Пакет pyenv позволит вам установить несистемную версию Python на ваш компьютер, не затрагивая основной пакет Python, установленный на вашем компьютере (опять же: ваша система зависит от установленной на данный момент версии Python, и ее обновление может привести к поломке вашей системы). Ранее Pythonbrew рекомендовался для изоляции пакетов Python от системы, но с тех пор этот
pyenv
пакет устарел и заменен пакетом.pyenv
Пакет предоставляет следующие функциональные возможности :Установка
Проверьте pyenv в ~ / .pyenv.
Добавьте ~ / .pyenv / bin в вашу переменную $ PATH для доступа к утилите командной строки pyenv.
Zsh note: измените ваш
~/.zshenv
файл вместо~/.bash_profile
.Добавьте pyenv init в вашу оболочку, чтобы включить shims и автозаполнение.
Zsh note: измените ваш
~/.zshenv
файл вместо~/.bash_profile
.Перезапустите вашу оболочку, чтобы изменения пути вступили в силу. Теперь вы можете начать использовать pyenv.
Установите версии Python в ~ / .pyenv / version. Например, чтобы установить Python 2.7.5, скачайте и распакуйте исходный код, затем запустите:
ПРИМЕЧАНИЕ Если вам нужно передать параметры конфигурации для сборки из исходного кода, используйте переменную среды CONFIGURE_OPTS.
Восстановите исполняемые файлы. Это следует делать каждый раз, когда вы устанавливаете новый двоичный файл Python (например, при установке новой версии Python или при установке пакета, предоставляющего двоичный файл).
источник
pyenv
великолепен по многим причинам. Помогает мне в моих экспериментах без особых хлопот после первоначальной настройки.home
папки конкретного пользователя ? Как я могу установить это для каждого пользователя? Могу ли я установить./pyenv
в/usr/local/bin
или это плохая идея?