Title: PYTHON_TARGETS deployment Author: Michał Górny Content-Type: text/plain Posted: 2012-11-06 Revision: 1 News-Item-Format: 1.0 Recently, a few new Python eclasses have been deployed. As ebuilds migrate, the way they support multiple Python implementations will change. The previous method built Python modules for Python implementations selected through `eselect python'. The new method uses the PYTHON_TARGETS USE flags to explicitly name the implementations the modules shall be built for. If you are running a modern system with only Python 2.7 & 3.2 installed, then you don't have to do anything. The defaults will simply fit you, and let you keep your system up-to-date when new Python versions are deployed. However, if you'd like to use another set of Python implementations, you will need to set PYTHON_TARGETS in your make.conf file appropriately. This variable names the enabled implementations in the standard way common to all USE_EXPAND variables. For example, a setup enabling all major Python implementations would look like: PYTHON_TARGETS="python2_7 python3_2 pypy1_9 jython2_5" The variable should list all Python implementations which are going to be used on the system; missing a particular value there will result in missing Python modules. A complete list of all possible values can be obtained using a command equivalent to the following: emerge -1pv dev-python/python-exec For more details, please see the python-r1 User's Guide [1]. [1] http://www.gentoo.org/proj/en/Python/python-r1/user-guide.xml