aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2022-11-11 00:36:33 +0800
committerXi Ruoyao <xry111@xry111.site>2022-11-11 01:31:54 +0800
commit22f5a1a7316b752b498c65a24a7c776d86d1b03b (patch)
treeb39351b8262c620b19203c25efbac2fef2961dbd
parent799c42486a162131ce035af10fc5be0ee51c6d26 (diff)
wheel: build and install with temporary Python packages
-rw-r--r--chapter08/wheel.xml37
-rw-r--r--packages.ent14
2 files changed, 38 insertions, 13 deletions
diff --git a/chapter08/wheel.xml b/chapter08/wheel.xml
index 0f6ba7cb6..ce87e24a9 100644
--- a/chapter08/wheel.xml
+++ b/chapter08/wheel.xml
@@ -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">
diff --git a/packages.ent b/packages.ent
index 54826da17..7028fd870 100644
--- a/packages.ent
+++ b/packages.ent
@@ -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">