Вернуться назад

Python

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

Для начала скачиваем Python-3.13.7.tar.xz с сайта https://python.org по ссылке: https://www.python.org/ftp/python/3.13.7/Python-3.13.7.tar.xz

Распаковываем:


   tar -xJf Python-3.13.7.tar.xz
   cd Python-3.13.7
		

Теперь приступаем к сборке:


   # Для начала создадим папку для сборки, чтобы не смешивать
   # собранную программу с исходниками
   
   mkdir build		# Создаём папку
   cd build		# переходим в созданную папку
   ../configure		# Запускаем конфигурацию
   make			# компилируем python
   sudo make install	# устанавливаем Python в систему
		

Команда make собирает программу из исходников в папку ~/Загрузки/Python-3.13.7/build/, а sudo make install - копирует собранную программу в систему.

Теперь у нас бинарник установился в /usr/local/bin

Как собрать документацию

В скачанных исходниках у нас есть папка Doc. Чтобы собрать документацию можно выполнить одну из следующих команд:


   make -C Doc html		# соберёт документацию в HTML-формате
   make -C Doc text		# соберёт документацию в txt-формате
   make -C Doc latex		# соберёт документацию в LaTeX-формате
   
   # После сборки HTML-файлы окажутся в папке Doc/build/html/
   # Нужно в браузере открыть файл Doc/build/html/index.html
		

Но перед тем, как собрирать документацию, нам надо установить все необходимые зависимости, которые нужны для этой сборки. Эти зависимости перечислены в файле Doc/requirements.txt


   # Создаём виртуальное окружение:
   python3 -m venv venv
   source venv/bin/activate		# активируем его
   
   # Ставим необходимые зависимости для сборки документации:
   pip install -r requirements.txt
   
   # Теперь собираем документацию:
   make html		# "-C Doc" можно пропустить - мы уже в папке "Doc"
   
   # Выходим из виртуального окружения:
   deactivate
   
   # Теперь у нас собрана документация из HTML-файлов в Doc/build/html/
   # Можно скопировать её в системное место:
   sudo cp -r Doc/build/html/* /usr/local/share/doc/python3.13/html/
		

Удаление Python

Если ещё остались исходники, можно сделать так:


   sudo make uninstall
		

Если перед make install использовать sudo checkinstall, то он создаст пакет, который можно удалить как обычный (pacman -R).

Ручное удаление Python


   sudo rm -rf /usr/local/bin/python3.13 /usr/local/bin/pip3.13
   sudo rm -rf /usr/local/lib/python3.13
   sudo rm -rf /usr/local/include/python3.13
   sudo rm -rf /usr/local/lib/libpython3.13*
   sudo rm -rf /usr/local/lib/pkgconfig/python-3.13.pc
   sudo rm -rf /usr/local/share/man/man1/python3.13.1
   sudo rm -rf /usr/local/share/doc/python3.13/	# Если мы копировали сюда документацию при установке
		

Дополнительная инфа на будущее

Чтобы не "засорять" систему, лучше ставить Python в отдельный каталог с помощью --prefix, например:


   ./configure --prefix=$HOME/opt/python3.13
   make
   make install		
		

Тогда всё окажется в ~/opt/python3.13, и удалить будет очень просто:


   rm -rf ~/opt/python3.13