Python-3.9.2
Introduction to Python 3
The Python 3 package contains the
Python development environment.
This is useful for object-oriented programming, writing scripts,
prototyping large programs or developing entire applications.
Note
Python 3 was installed in LFS.
The only reason to rebuild it here is if optional modules are
needed.
This package is known to build and work properly using an LFS-10.1
platform.
Package Information
Python 3 Dependencies
Recommended
SQLite-3.35.4 (required if building firefox or
thunderbird)
Optional
BlueZ-5.56, GDB-10.1 (required for some tests), Valgrind-3.17.0,
and libmpdec
Optional (For Additional Modules)
Berkeley DB-5.3.28 and Tk-8.6.11.1
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/Python3
Installation of Python 3
Fix a header file, which is needed for some use cases:
sed 's|cpython/||' -i Include/cpython/pystate.h
Install Python 3 by running the
following commands:
CXX="/usr/bin/g++" \
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--with-ensurepip=yes &&
make
To test the result, issue make
test. Some tests may need Internet connection.
Now, as the root
user:
make install
Command Explanations
CXX="/usr/bin/g++" ./configure
...: Avoid an annoying message during
configuration.
--with-system-expat
: This
switch enables linking against the 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.
setuptools is needed
for building some Python modules.
--with-dbmliborder=bdb:gdbm:ndbm
: Use
this switch if you want to build Python DBM Module against Berkeley DB instead of GDBM.
--enable-optimization
: Use this switch
if you want to enable expensive optimizations (i.e. Profile
Guided Optimizations). This adds around 20 SBU, but can
slightly speed up some uses,
such as using Sphinx for creating
documentation, or use of Python3
scripts.
--with-lto
: This optional switch
enables thick Link Time Optimization. Unusually, it creates a much
larger /usr/lib/python3.9/config-3.9-<arch>-linux-gnu/libpython3.9.a
with a small increase in the time to compile Python. Run-time results do not appear to show
any benefit from doing this.
Configuring Python 3
In order for python3
to find the installed documentation, create the following version
independent symlink:
ln -svfn python-3.9.2 /usr/share/doc/python-3
and add the following environment variable to the individual user's
or system's profile:
export PYTHONDOCS=/usr/share/doc/python-3/html
Contents
Installed Programs:
2to3 (symlink) and 2to3-3.9,
easy_install-3.9, idle3 (symlink) and idle3.9, pip3 (symlink)
and pip3.9, pydoc3 and pydoc3.9, python3 (symlink); python3.9,
and python3 (symlink), and python3.9 python3-config (symlink)
and python3.9-config
Installed Libraries:
libpython3.9.so and libpython3.so
Installed Directories:
/usr/include/python3.9,
/usr/lib/python3.9, and /usr/share/doc/python-3.9.2
Short Descriptions
easy_install
|
is a frontend to pip3 to make it easier to configure
python modules through the PIP package manager
|
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
|
pydoc3
|
is the Python
documentation tool
|
python3
|
is an interpreted, interactive, object-oriented
programming language
|
python3.9
|
is a version-specific name for the python program
|
Last updated on 2021-03-02 16:19:04 -0600