#### Beyond Linux® From Scratch (systemd Edition) - Version r12.0-1685

### Chapter 13. Programming

- Prev

  Python-3.12.2

- Next

  Python Modules

- Up
- Home

# Python-3.11.1

## Introduction to Python 3.11

The Python 3.11 package contains an older version of the Python development environment. This is only needed for building specific programs in BLFS that have not updated their build systems to support Python-3.12.2 (e.g Firefox-115.8.0, Thunderbird-115.8.0, seamonkey-2.53.18, and qtwebengine-5.15.17).

### Note

Do NOT install this package if you are not installing one of the above programs.

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

### Package Information

- Download (HTTP): https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tar.xz

- Download MD5 sum: 4efe92adf28875c77d3b9b2e8d3bc44a

- Download size: 19 MB

- Estimated disk space required: 301 MB

- Estimated build time: 1.1 SBU (Using parallelism=4)

### Python 3.11 Dependencies

#### Recommended

SQLite-3.45.1 (required if building firefox or thunderbird)

## Installation of Python 3.11

Install Python 3.11 by running the following commands:

    CXX="/usr/bin/g++"                     \
    ./configure --prefix=/opt/python3.11   \
                --disable-shared           \
                --with-system-expat        &&
    make

Since this package is only used in very limited situations, tests are not recommended.

Now, as the `root` user:

    make install

## Command Explanations

CXX="/usr/bin/g++" ./configure ...: Avoid an annoying message during configuration.

`--prefix=/opt/python3.11`: This installs python 3.11 into /opt in order to avoid conflicts with the system version of python, and allows for easy removal/isolation once programs update to python3.12 or later.

`--disable-shared`: This switch disables building shared libraries. Since all the packages that need python-3.11 have built in modules and don't directly link to python, it is safe to turn off shared library support.

`--with-system-expat`: This switch enables linking against the system version of Expat.

## Contents

Installed Programs: python3.11
Installed Libraries: libpython3.11.a
Installed Directories: /opt/python3.11/include/python3.11, and /opt/python3.11/lib/python3.11,

### Short Descriptions

python3.11 | is a version-specific name for the python program

- Prev

  Python-3.12.2

- Next

  Python Modules

- Up
- Home