Difference between revisions of "Python"

From Gentoo Wiki
Jump to:navigation Jump to:search
(Adding official documentation to InfoBox.)
(Adding See also for Pip.)
Line 71: Line 71:
  
 
* [[Bash]] - The original Linux scripting language.
 
* [[Bash]] - The original Linux scripting language.
 +
* [[Pip]] - Python's built-in package management system.
  
 
[[Category:Software]]
 
[[Category:Software]]

Revision as of 17:33, 24 August 2015

This article is a stub. Please help out by expanding it - how to get started.

Python is the programming language that runs Portage and many other tools in Gentoo. It is extremely powerful and useful for many scripting tasks.

Installation

Since Python is so integral to Gentoo there is little chance it is not installed. Doing so would be like removing the heart from Gentoo. There is occasion where Python must be recompiled in order to add new features or to upgrade.

USE flags

USE flags for dev-lang/python An interpreted, interactive, object-oriented programming language

+ensurepip Install the ensurepip module that uses bundled wheels to bootstrap pip and setuptools (if disabled, it will be only possible to use venv `--without-pip`)
+ncurses Add ncurses support (console display library)
+readline Enable support for libreadline, a GNU line-editing library that almost everyone wants
+sqlite Add support for sqlite - embedded sql database
+ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
+xml Add support for XML files
berkdb Add support for sys-libs/db (Berkeley DB)
bluetooth Build Bluetooth protocol support in socket module
build !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1]
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
examples Install examples, usually source code
gdbm Add support for sys-libs/gdbm (GNU database libraries)
jit Enable experimental Just-In-Time compilation support.
libedit Use the libedit library (replacement for readline)
pgo Optimize the build using Profile Guided Optimization (PGO) by running Python's test suite and collecting statistics based on its performance. This will take longer to build.
tail-call-interp Enable the tail call interpreter. May lead to better performance but is still new and dependent on latest toolchain versions (Clang 19, GCC 15).
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
tk Add support for Tk GUI toolkit
valgrind Disable pymalloc when running under dev-debug/valgrind is detected (may incur minor performance penalty even when valgrind is not used)
verify-sig Verify upstream signatures on distfiles
wininst Install Windows executables required to create an executable installer for MS Windows

Emerge

Python is slotted, which means there is more than one version Python that can be installed on a Gentoo system at the same time. Select the version to install by using an : (colon) and the package atom followed by one of the slot numbers:

For example, to install Python 3.4

root #emerge --ask dev-lang/python:3.4

Configuration

Setting the active interpreter

The active Python interpreter can be set using the eselect python command. First list the available interpreters using list:

root #eselect python list

Select the desired interpreter using set. In this example the second option was chosen:

root #eselect python set 2

Usage

Invocation

A specific version of the Python interpreter can be invoked from the command-line directly by running:

user $python2.7

Or

user $python3.4

See also

  • Bash - The original Linux scripting language.
  • Pip - Python's built-in package management system.