Python modules listed in Python Modules have dependencies that are not referenced by other packages in SLFS. These dependencies are listed here. They will not get updated on regular basis, unless a more recent version is needed.
In BLFS and SLFS, we normally build and install Python 3 modules with
pip3. Please take care that the
pip3 install commands in the book should be
run as root unless it's for a Python virtual environment. Running
pip3 install as a non-root user may seem to
work fine, but it will cause the installed module to be inaccessible by
other users.
pip3 install will not reinstall an already
installed module by default. For using the
pip3 install command to upgrade a module (for
example, from meson-0.61.3 to meson-0.62.0), insert
--upgrade into the command line. If it's really
necessary to downgrade a module or reinstall the same version for
some reason, insert --force-reinstall into
the command line.
The structlog module offers an easy solution to logging.
Build the module:
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
Now, as the root user:
pip3 install --no-index --find-links=dist --no-cache-dir --no-user structlog
-w dist: Builds the appropriate
“wheel” for this module in the directory
dist.
--no-build-isolation: Tells
pip3 to run the build in the system environment
instead of creating a temporary build environment.
--no-deps: Prevents pip3 from
building wheels for the project's dependencies.
--no-index: Ignores the package index
(only looking at --find-links URLs instead).
--find-links dist: Looks for links to archives
such as wheel (.whl) files in the
directory dist.
--no-cache-dir: Disables the cache to prevent
a warning when installing as the root user.
--no-user: Prevent mistakenly running the
install command as a non-root user.
--upgrade: Upgrade the package to the newest
available version. This option is used with the install command
if a version of the package is already installed.
--force-reinstall: Reinstall the package even if
it is up-to-date. This option is used with the install command
if reinstalling the package or reverting to an earlier version
of the package.
--no-deps: Do not install package dependencies.
This option may be needed with the --upgrade or
--force-reinstall options.
The platformdirs module provides standard directory paths on different platforms so that data is saved to the right path.
Build the module:
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
Now, as the root user:
pip3 install --no-index --find-links=dist --no-cache-dir --no-user platformdirs
-w dist: Builds the appropriate
“wheel” for this module in the directory
dist.
--no-build-isolation: Tells
pip3 to run the build in the system environment
instead of creating a temporary build environment.
--no-deps: Prevents pip3 from
building wheels for the project's dependencies.
--no-index: Ignores the package index
(only looking at --find-links URLs instead).
--find-links dist: Looks for links to archives
such as wheel (.whl) files in the
directory dist.
--no-cache-dir: Disables the cache to prevent
a warning when installing as the root user.
--no-user: Prevent mistakenly running the
install command as a non-root user.
--upgrade: Upgrade the package to the newest
available version. This option is used with the install command
if a version of the package is already installed.
--force-reinstall: Reinstall the package even if
it is up-to-date. This option is used with the install command
if reinstalling the package or reverting to an earlier version
of the package.
--no-deps: Do not install package dependencies.
This option may be needed with the --upgrade or
--force-reinstall options.
The pycurl module offers access to cURL in Python scripts.
Patch the path of the installed documentation:
sed -i 's/datadir = os.path.join("share", "doc", PACKAGE/&+"-"+VERSION/' setup.pyBuild the module:
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
Now, as the root user:
pip3 install --no-index --find-links=dist --no-cache-dir --no-user pycurl
-w dist: Builds the appropriate
“wheel” for this module in the directory
dist.
--no-build-isolation: Tells
pip3 to run the build in the system environment
instead of creating a temporary build environment.
--no-deps: Prevents pip3 from
building wheels for the project's dependencies.
--no-index: Ignores the package index
(only looking at --find-links URLs instead).
--find-links dist: Looks for links to archives
such as wheel (.whl) files in the
directory dist.
--no-cache-dir: Disables the cache to prevent
a warning when installing as the root user.
--no-user: Prevent mistakenly running the
install command as a non-root user.
--upgrade: Upgrade the package to the newest
available version. This option is used with the install command
if a version of the package is already installed.
--force-reinstall: Reinstall the package even if
it is up-to-date. This option is used with the install command
if reinstalling the package or reverting to an earlier version
of the package.
--no-deps: Do not install package dependencies.
This option may be needed with the --upgrade or
--force-reinstall options.
The toml module can process and convert things from and to TOML.
Build the module:
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir --use-pep517 $PWD
Now, as the root user:
pip3 install --no-index --find-links=dist --no-cache-dir --no-user toml
-w dist: Builds the appropriate
“wheel” for this module in the directory
dist.
--no-build-isolation: Tells
pip3 to run the build in the system environment
instead of creating a temporary build environment.
--no-deps: Prevents pip3 from
building wheels for the project's dependencies.
--no-index: Ignores the package index
(only looking at --find-links URLs instead).
--find-links dist: Looks for links to archives
such as wheel (.whl) files in the
directory dist.
--no-cache-dir: Disables the cache to prevent
a warning when installing as the root user.
--no-user: Prevent mistakenly running the
install command as a non-root user.
--upgrade: Upgrade the package to the newest
available version. This option is used with the install command
if a version of the package is already installed.
--force-reinstall: Reinstall the package even if
it is up-to-date. This option is used with the install command
if reinstalling the package or reverting to an earlier version
of the package.
--no-deps: Do not install package dependencies.
This option may be needed with the --upgrade or
--force-reinstall options.
The tornado module offers an easy solution to logging.
pycurl-7.46.0 (for the cURL client)
Build the module:
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
Now, as the root user:
pip3 install --no-index --find-links=dist --no-cache-dir --no-user tornado
-w dist: Builds the appropriate
“wheel” for this module in the directory
dist.
--no-build-isolation: Tells
pip3 to run the build in the system environment
instead of creating a temporary build environment.
--no-deps: Prevents pip3 from
building wheels for the project's dependencies.
--no-index: Ignores the package index
(only looking at --find-links URLs instead).
--find-links dist: Looks for links to archives
such as wheel (.whl) files in the
directory dist.
--no-cache-dir: Disables the cache to prevent
a warning when installing as the root user.
--no-user: Prevent mistakenly running the
install command as a non-root user.
--upgrade: Upgrade the package to the newest
available version. This option is used with the install command
if a version of the package is already installed.
--force-reinstall: Reinstall the package even if
it is up-to-date. This option is used with the install command
if reinstalling the package or reverting to an earlier version
of the package.
--no-deps: Do not install package dependencies.
This option may be needed with the --upgrade or
--force-reinstall options.