#### Linux From Scratch - Version 10.1-rc1

### Chapter 8. Installing Basic System Software

- Prev

  OpenSSL-1.1.1j

- Next

  Ninja-1.10.2

- Up
- Home

# 8.49. Python-3.9.1

The Python 3 package contains the Python development environment. It is useful for object-oriented programming, writing scripts, prototyping large programs, or developing entire applications.

Approximate build time: 3.1 SBU
Required disk space: 293 MB

## 8.49.1. Installation of Python 3

Prepare Python for compilation:

    ./configure --prefix=/usr       \
                --enable-shared     \
                --with-system-expat \
                --with-system-ffi   \
                --with-ensurepip=yes

The meaning of the configure options:

`--with-system-expat`

  This switch enables linking against system version of Expat.

`--with-system-ffi`

  This switch enables linking against system version of libffi.

`--with-ensurepip=yes`

  This switch enables building pip and setuptools packaging programs.

Compile the package:

    make

To test the results, issue:

    make test

Some tests requiring a network connection or additional packages are skipped. The test named test_normalization is known to fail. For more comprehensive results, the tests can be rerun when Python 3 is reinstalled in BLFS.

Install the package:

    make install

If desired, install the preformatted documentation:

    install -v -dm755 /usr/share/doc/python-3.9.1/html

    tar --strip-components=1  \
        --no-same-owner       \
        --no-same-permissions \
        -C /usr/share/doc/python-3.9.1/html \
        -xvf ../python-3.9.1-docs-html.tar.bz2

The meaning of the documentation install commands:

`--no-same-owner` and `--no-same-permissions`

  Ensure the installed files have the correct ownership and permissions. Without these options, using tar will install the package files with the upstream creator's values.

## 8.49.2. Contents of Python 3

Installed Programs: 2to3, idle3, pip3, pydoc3, python3, and python3-config
Installed Library: libpython3.9.so and libpython3.so
Installed Directories: /usr/include/python3.9, /usr/lib/python3, and /usr/share/doc/python-3.9.1

### Short Descriptions

2to3 | is a Python program that reads Python 2.x source code and applies a series of fixes to transform it into valid Python 3.x code
idle3 | is a wrapper script that opens a Python aware GUI editor. For this script to run, you must have installed Tk before Python so that the Tkinter Python module is built
pip3 | The package installer for Python. You can use pip to install packages from Python Package Index and other indexes
pydoc3 | is the Python documentation tool
python3 | is an interpreted, interactive, object-oriented programming language

- Prev

  OpenSSL-1.1.1j

- Next

  Ninja-1.10.2

- Up
- Home