diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.1-sysv/chapter08/Python.html | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.1-sysv/chapter08/Python.html')
-rw-r--r-- | lfs-12.1-sysv/chapter08/Python.html | 384 |
1 files changed, 0 insertions, 384 deletions
diff --git a/lfs-12.1-sysv/chapter08/Python.html b/lfs-12.1-sysv/chapter08/Python.html deleted file mode 100644 index da00221..0000000 --- a/lfs-12.1-sysv/chapter08/Python.html +++ /dev/null @@ -1,384 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 8.51. Python-3.12.2 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 8. Установка базового системного программного обеспечения - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="libffi.html" title="Libffi-3.4.4">Пред.</a> - <p> - Libffi-3.4.4 - </p> - </li> - <li class="next"> - <a accesskey="n" href="flit-core.html" title= - "Flit-Core-3.9.0">След.</a> - <p> - Flit-Core-3.9.0 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-system-Python" name="ch-system-Python"></a>8.51. - Python-3.12.2 - </h1> - <div class="wrap" lang="ru" xml:lang="ru"> - <div class="package" lang="ru" xml:lang="ru"> - <p> - Пакет Python 3 содержит среду разработчика Python. Его можно - использовать для объектно-ориентированного программирования, - написания скриптов, прототипирования больших программ и разработка - целых приложений. Python — это интерпретируемый язык - программирования. - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">1.8 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">485 MB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - 8.51.1. Установка пакета Python 3 - </h2> - <p> - Подготовьте Python к компиляции: - </p> - <pre class="userinput"><kbd class= - "command">./configure --prefix=/usr \ - --enable-shared \ - --with-system-expat \ - --enable-optimizations</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметров настройки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--with-system-expat</code></em></span> - </dt> - <dd> - <p> - Этот параметр выполняет линковку с системной версией - <span class="application">Expat</span>. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-optimizations</code></em></span> - </dt> - <dd> - <p> - Этот параметр позволяет выполнить обширные, но отнимающие - много времени, действия по оптимизации. Интерпретатор - собирается дважды; тесты, выполненные при первой сборке, - используются для улучшения финальной версии. - </p> - </dd> - </dl> - </div> - <p> - Скомпилируйте пакет: - </p> - <pre class="userinput"><kbd class="command">make</kbd></pre> - <p> - Запускать тесты на этом этапе не рекомендуется. Известно, что тесты - зависают на неопределенный срок в неполной среде LFS. При желании - тесты можно запустить повторно в конце этой главы или при - переустановке Python 3 в BLFS. Чтобы запустить тесты, выполните - команду <span class="command"><strong>make test</strong></span>. - </p> - <p> - Установите пакет: - </p> - <pre class="userinput"><kbd class="command">make install</kbd></pre> - <p> - В некоторых местах книги, мы используем команду <span class= - "command"><strong>pip3</strong></span> для установки программ и - модулей Python 3 от имени пользователя <code class= - "systemitem">root</code>. Это противоречит рекомендации - разработчиков Python: устанавливать пакеты в виртуальную среду или - домашний каталог обычного пользователя (путем запуска <span class= - "command"><strong>pip3</strong></span> от имени этого - пользователя). Поэтому всякий раз при использовании <span class= - "command"><strong>pip3</strong></span> от имени пользователя - <code class="systemitem">root</code> появляется многострочное - предупреждение. - </p> - <p> - Основная причина этой рекомендации — избежать конфликта с системным - менеджером пакетов (например, <span class= - "command"><strong>dpkg</strong></span>), но в LFS нет - общесистемного менеджера пакетов, так что это не проблема. Кроме - того, <span class="command"><strong>pip3</strong></span> будет - пытаться проверять наличие новой версии при каждом запуске. - Поскольку разрешение доменных имен в среде chroot LFS еще не - настроено, он не сможет проверить наличие новой версии и выдаст - предупреждение. - </p> - <p> - Как только мы загрузим систему LFS и настроим сетевое подключение, - <span class="command"><strong>pip3</strong></span> выдаст - предупреждение, сообщающее пользователю о необходимости обновить - его с помощью предварительно собранного whl-файла в PyPI (всякий - раз, когда будет доступна новая версия). Но LFS считает - <span class="command"><strong>pip3</strong></span> частью Python3, - поэтому его не следует обновлять отдельно. Кроме того, обновление - из whl-файла не соответствует цели проекта — собрать систему Linux - из исходного кода, поэтому предупреждение о новой версии - <span class="command"><strong>pip3</strong></span> следует - игнорировать. По желанию, вы можете отключить все предупреждение, - создав следующий файл конфигурации: - </p> - <pre class="userinput"><kbd class= - "command">cat > /etc/pip.conf << EOF -<code class="literal">[global] -root-user-action = ignore -disable-pip-version-check = true</code> -EOF -</kbd></pre> - <div class="admon important"> - <img alt="[Важно]" src="../images/important.png" /> - <h3> - Важно - </h3> - <p> - В LFS и BLFS мы собираем и устанавливаем модули Python с помощью - команды <span class="command"><strong>pip3</strong></span>. - Убедитесь, что команда <span class="command"><strong>pip3 - install</strong></span> в обеих книгах запускаются от имени - пользователя <code class="systemitem">root</code> (если только - она не для виртуальной среды Python). Запуск <span class= - "command"><strong>pip3 install</strong></span> от имени - пользователя без полномочий <code class="systemitem">root</code> - может показаться нормальным, но это приведет к тому, что - установленный модуль будет недоступен для других пользователей. - </p> - <p> - Команда <span class="command"><strong>pip3 - install</strong></span> по умолчанию не приведёт к автоматической - переустановке уже установленного модуля. Чтобы использовать - команду <span class="command"><strong>pip3 - install</strong></span> для обновления модуля (например, с - meson-0.61.3 до meson-0.62.0), добавьте параметр <em class= - "parameter"><code>--upgrade</code></em> в командную строку. Если - по какой-то причине необходимо понизить версию модуля или - переустановить ту же версию, используйте параметр <em class= - "parameter"><code>--force-reinstall --no-deps</code></em>. - </p> - </div> - <p> - По желанию установите предварительно отформатированную - документацию: - </p> - <pre class="userinput"><kbd class= - "command">install -v -dm755 /usr/share/doc/python-3.12.2/html - -tar --no-same-owner \ - -xvf ../python-3.12.2-docs-html.tar.bz2 -cp -R --no-preserve=mode python-3.12.2-docs-html/* \ - /usr/share/doc/python-3.12.2/html</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение команд установки документации:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><code class="option">--no-same-owner</code> - (tar) и <code class="option">--no-preserve=mode</code> - (cp)</span> - </dt> - <dd> - <p> - Параметры обеспечивают, что установленные файлы имеют - корректные права и владельца файлов. Использование - <span class="application">tar</span> без этих параметров - приведет к установке файлов с правами пользователя создавшего - архив и файлы будут иметь ограниченные разрешения. - </p> - </dd> - </dl> - </div> - </div> - <div class="content" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="contents-python" name="contents-python"></a>8.51.2. - Содержимое пакета Python 3 - </h2> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Установленные программы:</strong> - <span class="segbody">2to3, idle3, pip3, pydoc3, python3 и - python3-config</span> - </div> - <div class="seg"> - <strong class="segtitle">Установленные библиотеки:</strong> - <span class="segbody">libpython3.12.so и libpython3.so</span> - </div> - <div class="seg"> - <strong class="segtitle">Созданные каталоги:</strong> - <span class="segbody">/usr/include/python3.12, /usr/lib/python3 - и /usr/share/doc/python-3.12.2</span> - </div> - </div> - </div> - <div class="variablelist"> - <h3> - Краткое описание - </h3> - <table border="0" class="variablelist"> - <colgroup> - <col align="left" valign="top" /> - <col /> - </colgroup> - <tbody> - <tr> - <td> - <p> - <a id="python-2to3" name="python-2to3"></a><span class= - "term"><span class= - "command"><strong>2to3</strong></span></span> - </p> - </td> - <td> - <p> - программа на <span class="application">Python</span>, - которая читает файлы написанные на <span class= - "application">Python 2.x</span>, применяет к ним серию - изменений и переводит их в валидный код <span class= - "application">Python 3.x</span>. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="idle3" name="idle3"></a><span class= - "term"><span class= - "command"><strong>idle3</strong></span></span> - </p> - </td> - <td> - <p> - скрипт-обертка, который открывает графический редактор с - поддержкой <span class="application">Python</span>. Для - запуска этого скрипта, перед установкой Python необходимо - установить <span class="application">Tk</span>, чтобы - модуль Tkinter Python был собран. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="pip3" name="pip3"></a><span class= - "term"><span class= - "command"><strong>pip3</strong></span></span> - </p> - </td> - <td> - <p> - Установщик пакетов для Python. Вы можете использовать pip - для установки пакетов из каталога PyPI (Python Package - Index) и других источников. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="pydoc3" name="pydoc3"></a><span class= - "term"><span class= - "command"><strong>pydoc3</strong></span></span> - </p> - </td> - <td> - <p> - инструмент документации <span class= - "application">Python</span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="python3" name="python3"></a><span class= - "term"><span class= - "command"><strong>python3</strong></span></span> - </p> - </td> - <td> - <p> - это интерпретатор для Python, интерпретируемый, - интерактивный, объектно-ориентированный язык - программирования - </p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="libffi.html" title="Libffi-3.4.4">Пред.</a> - <p> - Libffi-3.4.4 - </p> - </li> - <li class="next"> - <a accesskey="n" href="flit-core.html" title= - "Flit-Core-3.9.0">След.</a> - <p> - Flit-Core-3.9.0 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |