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"> <sect2 role="installation">
<title>Installation of Wheel</title> <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> <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> <variablelist>
<title>The meaning of the pip3 options:</title> <title>The meaning of the install parameters:</title>
<varlistentry> <varlistentry>
<term><command>install</command></term> <term><parameter>-w dist</parameter></term>
<listitem> <listitem>
<para>Install the package.</para> <para>Put the created wheel into the
<filename class='directory'>dist</filename> directory.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><parameter>--no-index</parameter></term> <term><parameter>--find-links dist</parameter></term>
<listitem> <listitem>
<para>Prevent pip from fetching files from the online package <para>Install wheel from the
repository (PyPI). If packages are installed in the correct order, <filename class='directory'>dist</filename> directory.</para>
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>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><parameter>$PWD</parameter></term> <term><parameter>--force-reinstall</parameter></term>
<listitem> <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> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect2> </sect2>
<sect2 id="contents-wheel" role="content"> <sect2 id="contents-wheel" role="content">

View File

@ -602,6 +602,12 @@
<!ENTITY python-docs-md5 "b740495c9f6714e0998894ed8d1cb379"> <!ENTITY python-docs-md5 "b740495c9f6714e0998894ed8d1cb379">
<!ENTITY python-docs-size "7,484 KB"> <!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-version "8.2">
<!ENTITY readline-soversion "8.2"><!-- used for stripping --> <!ENTITY readline-soversion "8.2"><!-- used for stripping -->
<!ENTITY readline-size "2,973 KB"> <!ENTITY readline-size "2,973 KB">
@ -621,6 +627,12 @@
<!ENTITY sed-fin-du "31 MB"> <!ENTITY sed-fin-du "31 MB">
<!ENTITY sed-fin-sbu "0.4 SBU"> <!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-version "4.12.3">
<!ENTITY shadow-size "1,707 KB"> <!ENTITY shadow-size "1,707 KB">
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> <!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-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz">
<!ENTITY wheel-md5 "f490f1399e5903706cb1d4fbed9ecb28"> <!ENTITY wheel-md5 "f490f1399e5903706cb1d4fbed9ecb28">
<!ENTITY wheel-home "&pypi-home;/wheel/"> <!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 wheel-fin-sbu "less than 0.1 SBU">
<!ENTITY xml-parser-version "2.46"> <!ENTITY xml-parser-version "2.46">