wheel: build and install with temporary Python packages

This commit is contained in:
Xi Ruoyao 2022-11-11 00:36:33 +08:00
parent 799c42486a
commit 22f5a1a731
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
2 changed files with 38 additions and 13 deletions

View File

@ -40,39 +40,52 @@
<sect2 role="installation">
<title>Installation of Wheel</title>
<para>The installation of wheel needs pip and setuptools.
Prepare the temporary copies of them:</para>
<screen><userinput remap="pre">tar xf ../pip-&pip-version;.tar.gz
tar xf ../setuptools-&setuptools-version;.tar.gz</userinput></screen>
<para>Build the wheel package. The building process needs pip,
setuptools, and wheel itself, set <envar>PYTHONPATH</envar> so
<command>python3</command> will be able to find them:</para>
<screen><userinput remap="make">PYTHONPATH=pip-&pip-version;/src:setuptools-&setuptools-version;:src \
python3 -m pip wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
<para>Install wheel with the following command:</para>
<screen><userinput remap="install">pip3 install --no-index $PWD</userinput></screen>
<screen><userinput remap="install">PYTHONPATH=pip-&pip-version;/src:setuptools-&setuptools-version;:src \
python3 -m pip install --no-index --find-links dist wheel --force-reinstall</userinput></screen>
<variablelist>
<title>The meaning of the pip3 options:</title>
<title>The meaning of the install parameters:</title>
<varlistentry>
<term><command>install</command></term>
<term><parameter>-w dist</parameter></term>
<listitem>
<para>Install the package.</para>
<para>Put the created wheel into the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--no-index</parameter></term>
<term><parameter>--find-links dist</parameter></term>
<listitem>
<para>Prevent pip from fetching files from the online package
repository (PyPI). If packages are installed in the correct order,
then it won't need to fetch any files in the first place, but this
option adds some safety in case of user error.</para>
<para>Install wheel from the
<filename class='directory'>dist</filename> directory.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>$PWD</parameter></term>
<term><parameter>--force-reinstall</parameter></term>
<listitem>
<para>Look for files to install in the current working directory.</para>
<para>Install the package even if it can be found in
<envar>PYTHONPATH</envar>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="contents-wheel" role="content">

View File

@ -602,6 +602,12 @@
<!ENTITY python-docs-md5 "b740495c9f6714e0998894ed8d1cb379">
<!ENTITY python-docs-size "7,484 KB">
<!ENTITY pip-version "22.3.1">
<!ENTITY pip-size "2,032 KB">
<!ENTITY pip-url "&pypi-src;/p/pip/pip-&pip-version;.tar.gz">
<!ENTITY pip-md5 "996f58a94fe0b8b82b6795c42bd171ba">
<!ENTITY pip-home "&pypi-home;/pip/">
<!ENTITY readline-version "8.2">
<!ENTITY readline-soversion "8.2"><!-- used for stripping -->
<!ENTITY readline-size "2,973 KB">
@ -621,6 +627,12 @@
<!ENTITY sed-fin-du "31 MB">
<!ENTITY sed-fin-sbu "0.4 SBU">
<!ENTITY setuptools-version "65.5.1">
<!ENTITY setuptools-size "2,556 KB">
<!ENTITY setuptools-url "&pypi-src;/s/setuptools/setuptools-&setuptools-version;.tar.gz">
<!ENTITY setuptools-md5 "3f062858ddfb5efa564c9c02a30cb104">
<!ENTITY setuptools-home "&pypi-home;/setuptools/">
<!ENTITY shadow-version "4.12.3">
<!ENTITY shadow-size "1,707 KB">
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
@ -733,7 +745,7 @@
<!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz">
<!ENTITY wheel-md5 "f490f1399e5903706cb1d4fbed9ecb28">
<!ENTITY wheel-home "&pypi-home;/wheel/">
<!ENTITY wheel-fin-du "956 KB">
<!ENTITY wheel-fin-du "28,700 KB">
<!ENTITY wheel-fin-sbu "less than 0.1 SBU">
<!ENTITY xml-parser-version "2.46">