Python Modules

Introduction to Python Modules

The Python module packages add useful objects to the Python language. Modules utilized by packages throughout BLFS are listed here, along with their dependencies.

D-Bus Python-1.2.16

Introduction to D-Bus Python Module

D-Bus Python provides Python bindings to the D-Bus API interface.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

D-Bus Python Dependencies

Required

dbus-1.12.20 and GLib-2.68.1

Recommended
Optional

PyGObject-3.40.1 and tap.py (required for some tests)

Optional (Required to build the API and HTML Documentation)

docutils-0.16 and Sphinx with sphinx_rtd_theme

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/dbus-python

Installation of D-Bus Python

[Note]

Note

Both Python 2 and Python 3 modules can be built and installed without any conflicts.

To build D-Bus Python as the Python 2 module, run the following commands:

mkdir python2 &&
pushd python2 &&
PYTHON=/usr/bin/python2     \
../configure --prefix=/usr --disable-documentation &&
make &&
popd

To test the results, issue: make -C python2 check. Several tests report an error due to dbus issues.

To build D-Bus Python as the Python 3 module, run the following commands:

mkdir python3 &&
pushd python3 &&
PYTHON=/usr/bin/python3    \
../configure --prefix=/usr --docdir=/usr/share/doc/dbus-python-1.2.16 &&
make &&
popd

To test the results, issue: make -C python3 check.

To install the Python 2 module, run the following command as the root user:

make -C python2 install

To install the Python 3 module, run the following command as the root user:

make -C python3 install

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/share/doc/dbus-python-1.2.16 and /usr/lib/python2.7/site-packages/dbus and/or /usr/lib/python3.9/site-packages/dbus

decorator-4.4.2

Introduction to decorator Module

The goal of the decorator module is to make it easy to define signature-preserving function decorators and decorator factories.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/decorator

Installation of decorator

Install decorator with the following commands:

python3 setup.py build

This package does not come with a test suite.

To install the decorator package with the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: /usr/lib/python3.9/site-packages/decorator/decorator-4.4.2-py3.9.egg-info
Installed Directories: /usr/lib/python3.9/site-packages/decorator

docutils-0.16

Introduction to docutils

docutils is a set of Python modules and programs for processing plaintext docs into formats such as HTML, XML, or LaTeX.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

Docutils Dependencies

Optional

Python-2.7.18

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/docutils

Installation of docutils

To build the Python 3 applications, run the following command:

python3 setup.py build

To install the Python applications run the following as the root user:

python3 setup.py install --optimize=1 &&

for f in /usr/bin/rst*.py; do
  ln -svf $(basename $f) /usr/bin/$(basename $f .py)
done

Contents

Installed Programs: rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, rst2xml, and rstpep2html
Installed Libraries: None
Installed Directories: /usr/lib/python3.9/site-packages/docutils

Py3c-1.3.1

Introduction to Py3c

Py3c helps you port C extensions to Python 3. It provides a detailed guide, and a set of macros to make porting easy and reduce boilerplate.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/py3c

Installation of Py3c

The Py3c package is a headers-only package and because of that, no configuration and compilation is required.

To test the package, issue: make test-python3.

To install the Python 3 module, run the following command as the root user:

make prefix=/usr install

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/include/py3c

PyAtSpi2-2.38.1

Introduction to PyAtSpi2

The PyAtSpi2 package contains Python bindings for the core components of the GNOME Accessibility.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyAtSpi2 Dependencies

Required

PyGObject-3.40.1

Recommended

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pyatspi2

Installation of PyAtSpi2

To build PyAtSpi2 as a Python 3 module, run the following commands:

./configure --prefix=/usr --with-python=/usr/bin/python3

This package does not come with a testsuite.

To install the Python 3 module, run the following command as the root user:

make install

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.9/site-packages/pyatspi

PyCairo-1.20.0

Introduction to PyCairo Module

PyCairo provides Python bindings to Cairo.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyCairo Dependencies

Required

Cairo-1.17.4

Optional

Hypothesis (for tests)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pycairo

Installation of PyCairo

[Note]

Note

The current version of pycairo no longer builds the Python2 module. If you need that module for packages such as Gimp-2.10.24, use PyCairo-1.18.2

Install PyCairo for Python3 by running the following commands:

python3 setup.py build

This package does not come with a test suite.

Now, as the root user:

python3 setup.py install --optimize=1   &&
python3 setup.py install_pycairo_header &&
python3 setup.py install_pkgconfig

Contents

Installed Program: None
Installed Library: _cairo.cpython-39-<arch>-linux-gnu.so
Installed Directories: /usr/include/pycairo, and /usr/lib/python3.9/site-packages/pycairo-1.20.0-py3.9.egg

PyCairo-1.18.2

Introduction to PyCairo for Python2 Module

This version of PyCairo provides Python2 bindings to Cairo.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyCairo Dependencies

Required

Cairo-1.17.4 and Python-2.7.18

Optional

Hypothesis (for tests)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pycairo

Installation of PyCairo

[Note]

Note

This version of PyCairo is only retained for packages such as Gimp-2.10.24 which is stuck on Python2 until Gimp-3 is released.

Install PyCairo for Python2 by running the following commands:

python2 setup.py build

This package does not come with a test suite.

Now, as the root user:

python2 setup.py install --optimize=1   &&
python2 setup.py install_pycairo_header &&
python2 setup.py install_pkgconfig

Contents

Installed Program: None
Installed Library: _cairo.so
Installed Directories: /usr/include/pycairo, /usr/lib/python2.7/site-packages/cairo, /usr/lib/python2.7/site-packages/pycairo-1.18.2-py2.7.egg,

PyCryptodome-3.10.1

Introduction to the PyCryptodome Module

PyCryptodome is a collection of both secure hash functions (such as SHA256 and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.), and is a drop-in replacement for PyCrypto.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pycryptodome

Installation of PyCryptodome

To build PyCryptodome as a Python 3 module, run the following command:

python3 setup.py build

To install the module, run the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.9/site-packages/pycryptodome-3.10.1-py3.9.egg

dbusmock-0.23.0

Introduction to dbusmock

dbusmock is a Python library useful for writing tests for software which talks to D-Bus services.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

dbusmock Dependencies

Required

D-Bus Python-1.2.16 (runtime)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/dbusmock

Installation of dbusmock

Build the package with:

python3 setup.py build

To install the package run the following as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: python_dbusmock-0.23.0-py3.9.egg
Installed Directories: /usr/lib/python3.9/site-packages/dbusmock

Pygments-2.8.0

Introduction to Pygments Module

Pygments is a general syntax highlighter written in Python, for more than 300 languages.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pygments

Installation of Pygments

Build and install the Python 3 module by running the following commands as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: pygmentize
Installed Library: None
Installed Directories: /usr/lib/python3.9/site-packages/Pygments-2.8.0-py3.9.egg

PyGObject-2.28.7

Introduction to PyGObject Module

PyGObject-2.28.7 provides Python 2 bindings to the GObject class from GLib.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyGObject Dependencies

Required

GLib-2.68.1, PyCairo-1.18.2 and Python-2.7.18

Optional

gobject-introspection-1.68.0 and libxslt-1.1.34 (to Build Documentation)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pygobject2

Installation of PyGObject

Install PyGObject by running the following commands:

./configure --prefix=/usr --disable-introspection &&
make

This package does not have a working testsuite.

Now, as the root user:

make install

Command Explanations

--disable-introspection: Omit this switch if you have installed gobject-introspection-1.68.0. Note that it conflicts with PyGObject-3.40.1.

--disable-docs: This option disables the rebuilding of the html documentation if libxslt-1.1.34 is installed.

Contents

Installed Programs: pygobject-codegen-2.0
Installed Libraries: libpyglib-2.0-python.so, _gio.so, unix.so, _glib.so and _gobject.so.
Installed Directories: /usr/include/pygtk-2.0, /usr/lib/python2.7/site-packages/gtk-2.0/{gio,glib,gobject}, /usr/share/gtk-doc/html/pygobject and /usr/share/pygobject/2.0

PyGObject-3.40.1

Introduction to PyGObject3 Module

PyGObject3 provides Python bindings to the GObject class from GLib.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyGObject3 Dependencies

Required

gobject-introspection-1.68.0 and PyCairo-1.20.0 (Python 3 module)

Optional (for the tests)

pep8, pyflakes, and pytest

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pygobject3

Installation of PyGObject3

First, remove a faulty test:

mv -v tests/test_gdbus.py{,.nouse}

Install pygobject3 by running the following commands:

mkdir build &&
cd    build &&

meson --prefix=/usr .. &&
ninja

To test the results, issue: ninja test. An already active graphical session with a bus address is necessary to run the tests. One test, tests/test_gdbus.py, is known to fail.

Now, as the root user:

ninja install

Contents

Installed Programs: None
Installed Library: /usr/lib/python3.9/site-packages/gi/_gi{,_cairo}.cpython-39-<arch>-linux-gnu.so
Installed Directories: /usr/include/pygobject-3.0 and /usr/lib/python3.9/site-packages/{gi,pygtkcompat}

PyGTK-2.24.0

Introduction to PyGTK Module

PyGTK lets you to easily create programs with a graphical user interface using the Python programming language.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyGTK Dependencies

Required

PyGObject-2.28.7 and Python-2.7.18

Required (atk module)

ATK-2.36.0

Required (pango module)

Pango-1.48.4

Required (pangocairo module)

PyCairo-1.18.2 and Pango-1.48.4

Required (gtk and gtk.unixprint modules)

PyCairo-1.18.2 and GTK+-2.24.33.

Required (gtk.glade module)

PyCairo-1.18.2 and libglade-2.6.4.

Optional

NumPy

Optional (to Build Documentation)

libxslt-1.1.34

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pygtk

Installation of PyGTK

First, adapt PyGTK to changes in Pango by removing undefined APIs:

sed -i '1394,1402 d' pango.defs

Install PyGTK by running the following commands:

./configure --prefix=/usr &&
make

The tests must be run from an active X display. If this is so, issue: make check.

Now, as the root user:

make install

Command Explanations

--enable-docs: This option enables rebuilding the html documentation if libxslt-1.1.34 is installed.

Contents

Installed Programs: pygtk-codegen-2.0 and pygtk-demo.
Installed Libraries: atk.so, _gtk.so, glade.so, gtkunixprint.so, pango.so and pangocairo.so.
Installed Directories: /usr/include/pygtk-2.0, /usr/lib/pygtk, /usr/lib/python2.7/site-packages/gtk-2.0, /usr/share/gtk-doc/html/pygtk and /usr/share/pygtk.

Short Descriptions

pygtk-codegen-2.0

is a wrapper script to run the PyGTK codegen module

pygtk-demo

is a Python wrapper to run the PyGTK demo program

PyXDG-0.27

Introduction to PyXDG Module

PyXDG is a Python library to access freedesktop.org standards.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyXDG Dependencies

Optional

Python-2.7.18

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pyxdg

Installation of PyXDG

To install the module, run the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Directory: /usr/lib/python3.9/site-packages/xdg

libxml2-2.9.10 (for its Python2 module)

Introduction to the libxml2 Python2 module

These instructions provide the Python2 bindings for libxml2: the Python3 bindings are built as part of libxml2-2.9.10 and most packages in the book do not use these bindings for the older Python2.

By building these bindings after libxml2-2.9.10 has been installed, there is no need to rebuild the time-consuming (if all dependencies are used) main part of that package.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

libxml2 (Python2) Dependencies

Required

libxml2-2.9.10 and Python-2.7.18

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libxml2

Installation of libxml2 Python2 module

To build the Python 2 module, run:

cd python             &&
python2 setup.py build

To install the Python 2 module, as the root user run:

python2 setup.py install --optimize=1

Contents

Installed Programs: drv_libxml2.py, libxml2.py
Installed Libraries: libxml2mod.so
Installed Directories: None

Short Descriptions

drv_libxml2.py

is a SAX Python2 driver for libxml2

libxml2.py

is the Python2 binding for libxml2

libxml2mod.so

is the interface for Python2 to use libxml2.so

lxml-4.6.3

Introduction to lxml

lxml provides Python bindings for libxslt-1.1.34 and libxml2-2.9.10.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

lxml Dependencies

Required

libxslt-1.1.34

Recommended
Optional (to run more tests)

GDB-10.1, Valgrind-3.17.0, and cssselect

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/lxml

Installation of lxml

[Note]

Note

Both Python 2 and Python 3 modules can be built and installed without any conflicts.

To build both Python 2 and Python 3 modules, run:

python2 setup.py build &&
python3 setup.py build

If you wish to run the tests, enter: make PYTHON=python2 test and make PYTHON=python3 test. This will rebuild the package for inplace use before running the tests.

To install both modules, issue the following commands as the root user:

python2 setup.py install --optimize=1 &&
python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python2.7/site-packages/lxml, /usr/lib/python2.7/site-packages/lxml-4.6.3-py2.7-linux-$ARCH.egg-info and/or /usr/lib/python3.9/site-packages/lxml, /usr/lib/python3.9/site-packages/lxml-4.6.3-py3.9-linux-$ARCH.egg-info

MarkupSafe-1.1.1

Introduction to MarkupSafe Module

MarkupSafe is a Python module that implements a XML/HTML/XHTML Markup safe string.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/MarkupSafe

Installation of MarkupSafe

Install MarkupSafe with the following commands:

python3 setup.py build

Then, as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.9/site-packages/markupsafe and /usr/lib/python3.9/site-packages/MarkupSafe-1.1.1-py3.9.egg-info

Jinja2-2.11.3

Introduction to Jinja2 Module

Jinja2 is a Python module that implements a simple pythonic template language.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

Jinja2 Dependencies

Required

MarkupSafe-1.1.1

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/Jinja2

Installation of Jinja2

To install the Python 3 module, run the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.9/site-packages/Jinja2 and /usr/lib/python3.9/site-packages/Jinja2-2.11.3-py3.9.egg-info

Mako-1.1.4

Introduction to Mako Module

Mako is a Python module that implements hyperfast and lightweight templating for the Python platform.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

Mako Dependencies

Required

MarkupSafe-1.1.1

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/Mako

Installation of Mako

To install the Python 3 module, run the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: mako-render
Installed Libraries: None
Installed Directories: /usr/lib/python3.9/site-packages/Mako-1.1.4-py3.9.egg

python-slip-0.6.5

Introduction to python-slip Module

python-slip provides convenience, extension and workaround code for Python and some Python modules.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

python-slip Dependencies

Required

D-Bus Python-1.2.16, decorator-4.4.2, and six-1.15.0

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/python-slip

Installation of python-slip

To build the python-slip module, run the following commands:

sed 's/@VERSION@/0.6.5/' setup.py.in > setup.py &&
python3 setup.py build

To install the python-slip module, run the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: usr/lib/python3.9/site-packages/python-slip-0.6.5-py3.9.egg-info and usr/lib/python3.9/site-packages/python-slip.dbus-0.6.5-py3.9.egg-info
Installed Directories: /usr/lib/python3.9/site-packages/python-slip

PyYAML-5.3.1

Introduction to PyYAML Module

PyYAML is a Python module that implements the next generation YAML parser and emitter.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

PyYAML Dependencies

Required

libyaml-0.2.4

Optional

Python-2.7.18

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/PyYAML

Installation of PyYAML

[Note]

Note

Both Python 2 and Python 3 modules can be built and installed without any conflicts.

To build both Python 2 and Python 3 modules, run the following commands:

python2 setup.py build &&
python3 setup.py build

To install both modules, run the following commands as the root user:

python2 setup.py install --optimize=1 &&
python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: _yaml.so
Installed Directories: /usr/lib/python2.7/site-packages/yaml and/or /usr/lib/python3.9/site-packages/yaml

Scour-0.38.2

Introduction to Scour

Scour is an SVG (Scalable Vector Graphics) optimizer/cleaner that reduces their size by optimizing structure and removing unnecessary data.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

Scour Dependencies

Required

six-1.15.0 (will be automatically downloaded and installed if not already present)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/scour

Installation of scour

To build the Python 3 module run the following commands:

python3 setup.py build

To partially test the results, issue: python3 test_css.py. If you have installed Six you can run the main tests by issuing: python3 test_scour.py.

To install the module, run the following command as the root user:

python3 setup.py install --optimize=1

Contents

Installed Programs: scour
Installed Libraries: None
Installed Directories: None

Short Descriptions

scour

is a program to optimize and clean SVG files

six-1.15.0

Introduction to Six Module

Six is a Python 2 and 3 compatibility library.

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

Six Dependencies

Recommended Dependencies

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/six

Installation of six

[Note]

Note

Both Python 2 and Python 3 modules can be built and installed without any conflicts.

Install six for Python 2 and Python 3 by running the following commands:

python2 setup.py build &&
python3 setup.py build

This package does not come with a test suite.

Now, as the root user:

python2 setup.py install --optimize=1 &&
python3 setup.py install --optimize=1

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python2.7/site-packages/six-1.15.0-py2.7.egg and/or /usr/lib/python3.9/site-packages/six-1.15.0-py3.9.egg

Last updated on 2020-05-29 04:43:04 -0500