summaryrefslogtreecommitdiff
path: root/lfs-12.0-sysv/chapter08/Python.html
diff options
context:
space:
mode:
authorSn4il <sn4il@thedroth.rocks>2024-03-06 10:25:41 +0300
committerSn4il <sn4il@thedroth.rocks>2024-03-06 10:25:41 +0300
commit5a6834585c43296c2207f5f251d3d5c237c7c8d2 (patch)
tree5c3f9adc4c5fd0b3bdc3b017b021a36016c0f15b /lfs-12.0-sysv/chapter08/Python.html
parent2b6ec04f001bbdf660476a1275d90075d746833c (diff)
downloadsn4il-site-5a6834585c43296c2207f5f251d3d5c237c7c8d2.tar.gz
sn4il-site-5a6834585c43296c2207f5f251d3d5c237c7c8d2.zip
Update LFS mirror
Diffstat (limited to 'lfs-12.0-sysv/chapter08/Python.html')
-rw-r--r--lfs-12.0-sysv/chapter08/Python.html394
1 files changed, 0 insertions, 394 deletions
diff --git a/lfs-12.0-sysv/chapter08/Python.html b/lfs-12.0-sysv/chapter08/Python.html
deleted file mode 100644
index 097343b..0000000
--- a/lfs-12.0-sysv/chapter08/Python.html
+++ /dev/null
@@ -1,394 +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.11.4
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <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.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </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.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="wrap" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-system-Python" name="ch-system-Python"></a>8.51.
- Python-3.11.4
- </h1>
- <div class="package" lang="en" xml:lang="en">
- <p>
- Пакет Python 3 содержит среду разработчика Python. Его можно
- использовать для объектно-ориентированного программирования,
- написания скриптов, прототипирования больших программ и разработка
- целых приложений. Python — это интерпретируемый язык
- программирования.
- </p>
- <div class="segmentedlist">
- <div class="seglistitem">
- <div class="seg">
- <strong class="segtitle">Приблизительное время сборки:</strong>
- <span class="segbody">1.9 SBU</span>
- </div>
- <div class="seg">
- <strong class="segtitle">Требуемое дисковое
- пространство:</strong> <span class="segbody">370 MB</span>
- </div>
- </div>
- </div>
- </div>
- <div class="installation" lang="en" xml:lang="en">
- <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 \
- --with-system-ffi \
- --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>--with-system-ffi</code></em></span>
- </dt>
- <dd>
- <p>
- Этот параметр выполняет линковку с системной версией
- <code class="filename">libffi.so</code>.
- </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 &gt; /etc/pip.conf &lt;&lt; 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.11.4/html
-
-tar --strip-components=1 \
- --no-same-owner \
- --no-same-permissions \
- -C /usr/share/doc/python-3.11.4/html \
- -xvf ../python-3.11.4-docs-html.tar.bz2</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>
- и <code class="option">--no-same-permissions</code></span>
- </dt>
- <dd>
- <p>
- Проверяет, что установленные файлы имеют корректные права и
- владельца файлов. Использование <span class=
- "application">tar</span> без этих параметров приведет к
- установке файлов с правами пользователя создавшего пакет.
- </p>
- </dd>
- </dl>
- </div>
- </div>
- <div class="content" lang="en" xml:lang="en">
- <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.11.so и libpython3.so</span>
- </div>
- <div class="seg">
- <strong class="segtitle">Созданные каталоги:</strong>
- <span class="segbody">/usr/include/python3.11, /usr/lib/python3
- и /usr/share/doc/python-3.11.4</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.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>