Python-3.4.1

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.

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

Package Information

  • Download (HTTP): http://www.python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz

  • Download MD5 sum: 6cafc183b4106476dd73d5738d7f616a

  • Download size: 14 MB

  • Estimated disk space required: 266 MB (additional 38 MB for the docs and 37 MB for the tests)

  • Estimated build time: 1.1 SBU (additional 0.1 SBU for the tests)

Additional Downloads

Optional HTML Documentation

Python 3 Dependencies

Recommended

Optional

BlueZ-5.23, GDB-7.8 (required for some tests), and Valgrind-3.10.0

Optional (For Additional Modules)

Berkeley DB-6.1.19, OpenSSL-1.0.1i, SQLite-3.8.6 and Tk-8.6.2

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

Installation of Python 3

Install Python 3 by running the following commands:

CXX="/usr/bin/g++"              \
./configure --prefix=/usr       \
            --enable-shared     \
            --with-system-expat \
            --with-system-ffi   \
            --without-ensurepip &&
make

The test suite must be run separately, using an X terminal (see below).

Now, as the root user:

make install &&
chmod -v 755 /usr/lib/libpython3.4m.so &&
chmod -v 755 /usr/lib/libpython3.so

If you have downloaded the preformatted documentation from http://docs.python.org/download.html, install it as the root user:

install -v -dm755 /usr/share/doc/python-3.4.1/html &&
tar --strip-components=1 \
    --no-same-owner \
    --no-same-permissions \
    -C /usr/share/doc/python-3.4.1/html \
    -xvf ../python-3.4.1-docs-html.tar.bz2

The test suite must be run separately from the build, either before or after the package is built and installed. Do not run make install, after running the test suite. To build and install the package, you need to start with a fresh or clean source tree. For the test, you also need a clean source code, so either start by removing the source code directory and starting over, by uncompressing the source tarball or by running make clean. Then configure again, adding “--with-pydebug” to the configure switches above, run make, then make test. Remember that some tests fail, if not run in an X terminal.

Command Explanations

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

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

--with-system-ffi: This switch enables linking against system version of libffi. Remove if you have not installed recommended dependency libffi-3.1.

--without-ensurepip: This switch disables building pip and setuptools modules. Newer versions can be installed independently.

--with-dbmliborder=bdb:gdbm:ndbm: Use this switch if you want to build Python DBM Module against Berkeley DB instead of GDBM.

chmod ...: Fix permissions for shared libraries to be consistent with other libraries.

Configuring Python 3

In order for python3 to find the installed documentation, you must add the following environment variable to individual user's or the system's profile:

export PYTHONDOCS=/usr/share/doc/python-3.4.1/html

Contents

Installed Programs: 2to3 (symlink), 2to3-3.4, pydoc3 (symlink), pydoc3.4, python3 (symlink); python3.4 and python3.4m (hardlinked); python3-config (symlink), python3.4-config (symlink), python3.4m-config, pyvenv (symlink), pyvenv3.4, idle3 (symlink), and idle3.4
Installed Libraries: libpython3.4m.so and libpython3.so; several under /usr/lib/python3.3/lib-dynload/
Installed Directories: /usr/include/python3.4m, /usr/lib/python3.4, and /usr/share/doc/python-3.4.1

Short Descriptions

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.4

is a version-specific name for the python program.

pyvenv

creates virtual Python environments in one or more target directories.

Last updated on 2014-08-23 12:03:12 -0700