3

Я хотел установить более новые версии Python и Git для моей системы. В конце концов я использовал команды ниже для компиляции и установки новых версий. Однако мне сообщили, что было бы лучше использовать make altinstall для Python. Что не так с установкой новых версий, как я сделал?

Установите Python из исходного кода:

mkdir ~/getpython; cd ~/getpython
wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar -xvf Python-3.4.2.tgz
cd Python-3.4.2.tgz
sudo apt-get install libssl-dev openssl
./configure
make
sudo make install

Установите Git из исходного кода:

mkdir ~/getgit; cd ~/getgit
sudo apt-get install libcurl4-openssl-dev libexpat1-dev asciidoc xsltproc xmlto docbook2x
git clone https://github.com/git/git
make prefix=/usr all doc info   #note this takes a few minutes
sudo make prefix=/usr install install-doc install-html install-info

1 ответ1

4

Основная проблема заключается в том, что вы перезаписали библиотеки, управляемые менеджером пакетов, своими файлами. Другие пакеты и системные скрипты могут (в случае Python очень сильно) зависеть от этих пакетов, возможно, от заданных версий / патчей. Если вы перезаписываете системные библиотеки, вы рискуете сломать систему.

altinstall Python позволит избежать некоторых из этих проблем, если не использовать символическую ссылку на команду python по умолчанию, но, тем не менее, он не может полностью избежать входа в систему.

Если вы хотите скомпилировать более новые версии, может быть лучше использовать другой префикс, такой как /opt или домашний каталог пользователя, который будет запускать эти программы. Python включает дополнительный механизм для отделения системных библиотек от требований приложений в форме virtualenvs.


Для установки более новых версий Python для личного использования (в отличие от настройки сервера или многопользовательской системы, я рекомендую следующие шаги. (Первые 3 обычно применимы к любой упаковке.):

  1. ./configure --prefix=$HOME/.local configure для установки в домашний каталог
  2. make -j5 && make install скомпилировать с 5 процессами, установить на основе префикса configure
  3. Добавьте export PATH="$HOME/.local/bin:$PATH" в конец файла .bashrc, чтобы новые установленные пакеты были на вашем пути. После этого запустите новый терминал. type python3 покажет, что python3 is /home/david/.local/bin/python3 .
  4. Создайте virtualenv при запуске проекта, используя pyvenv-3.4 предоставляемый пакетом. $HOME/.local/bin/pyvenv-3.4 /path/to/my_new_venv .
  5. Активируйте virtualenv при работе над вашим проектом: source /path/to/my_venv/bin/activate . Установите пакеты там с помощью pip: pip install flask

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .