From Fedora Project Wiki
A python 3 stack was added to Fedora in Fedora 13, parallel-installable with the "main" Python 2 stack, and it is gradually growing additional RPMs, as more code is ported to Python 3.
Note that /usr/bin/python
is still Python 2.
Porting status
Please keep each of these tables sorted alphabetically by python module name
Python 3 already in Fedora
Python Module | Fedora Python 2 package | Upstream status of Python 3 | Fedora Python 3 package |
---|---|---|---|
blender | Blender 2.5 migrated its embedded version of python from Python 2 to Python 3. | Fedora 15 onwards switched from Blender 2.4 to 2.5, linking against the system Python 3, rather than the system Python 2 | |
bpython | Should work in 0.9.6.2: http://bitbucket.org/bobf/bpython/issue/84/bpython-doesnt-work-with-python-3 ; needs pyparsing | In Fedora 14 onwards as python3-bpython subpackage of bpython (was RHBZ #590107) | |
swig | According to http://www.swig.org/news.php, Python 3 support was added to SWIG in 1.3.37 (released 2009-01-15); generated C code appears to be compilable against both Python 2 and Python 3 | Fedora 11 onwards has had a version of "swig" capable of generating code for both Python major-versions. | |
amqplib | In Fedora as python3-amqplib subpackage of python-amqplib | ||
ansi2html | In Fedora as python3-ansi2html subpackage of python-ansi2html | ||
anyjson | In Fedora as python3-anyjson subpackage of python-anyjson | ||
asciitable | In Fedora as python3-asciitable subpackage of python-asciitable | ||
atpy | ATpy | In Fedora 13 onwards as python3-ATpy, built as a subpackage of ATpy | |
auth | In Fedora as python3-auth.credential subpackage of python-auth-credential | ||
babel | python-babel | python3-babel built as a subpackage of babel (Patch to .spec to emit python2 and python 3 from one build was RHBZ #537266) | |
beaker | python-beaker | In Fedora 14 onwards as python3-beaker, built as a subpackage of python-beaker | |
beautifulsoup4 | python-BeautifulSoup | beautifulsoup4 adds Python 3 support | Fedora 15 onwards has python3-BeautifulSoup, built as a subpackage of python-BeautifulSoup.src.rpm, using a copy of the 4.* tarball |
bs4 | In Fedora as python3-beautifulsoup4 subpackage of python-beautifulsoup4 | ||
cairo | pycairo | Upstream packages the py3k version as pycairo and the py2 version as py2cairo. There is a need to port from PyCObject to PyCapsule because Python 3.2 does not support PyCObject | In Fedora 15 onwards as python3-cairo) |
chardet | python-chardet | Upstream releasing dual-purpose tarballs | In Fedora 13 onwards as python3-chardet (was RHBZ #583186), the update is now stable. Though not yet in the beta release, it will be in the final one. |
cherrypy | python-cherrypy | Python 3 supported as of CherryPy 3.2 (October 2009), upstream releasing separate tarballs for python 3 | In Fedora 13 onwards as python3-cherrypy (was RHBZ #579593), though F-13 build is only available as an update. |
cmd2 | In Fedora as python3-cmd2 subpackage of python-cmd2 | ||
cobbler koan | In Fedora as subpackages cobbler cobbler-web koan of cobbler | ||
coverage | python-coverage | Upstream releasing dual-purpose tarballs | In Fedora 13 onwards as python3-coverage subpackage of python-coverage (was RHBZ #536948) |
Crypto | python-crypto | PyCrypto supports Python 3 as of 2.4 | In Fedora 17 onwards as python3-crypto subpackage of python-crypto (was RHBZ #748529) |
cvxopt | In Fedora as python3-cvxopt subpackage of python-cvxopt | ||
dateutil | In Fedora as python3-dateutil package | ||
decorator | python-decorator | Upstream reports that 3.1.2 ought to work, by running 2to3 on the module decorator.py | In Fedora 14 onwards as python3-decorator subpackage of python-decorator |
deltarpm | deltarpm | In Fedora 13 onwards (the "deltarpm" build emits both "python-deltarpm" and "python3-deltarpm" subpackages) | |
dirq | In Fedora as python3-dirq subpackage of python-dirq | ||
docutils | python-docutils | Website says: "From version 0.6 Docutils is compatible with Python 3, but requires 2to3." Note: Soft dependency on python-imaging which is not yet ported. We can make python3-docutils not use imaging with reduced functionality compared to the python2 version | In Fedora 14 onwards as python3-docutils subpackage of python-docutils (was RHBZ #579567) |
easygui | In Fedora as python3-easygui subpackage of python-easygui | ||
enchant | python-enchant | As of 2010-12-14 1.6.5 onwards should work with Python 3 | In Fedora 17 onwards as python3-enchant subpackage of python-enchant (was RHBZ #745237) |
execnet | In Fedora as python3-execnet subpackage of python-execnet | ||
feedparser | In Fedora as python3-feedparser subpackage of python-feedparser | ||
flexmock | In Fedora as python3-flexmock subpackage of python-flexmock | ||
gcc | gcc-python-plugin supports both Python 2 and Python 3 from one tarball, using "six" | In Fedora 16 onwards as gcc-python3-plugin and gcc-python3-debug-plugin subpackages of gcc-python-plugin (was RHBZ #725570) | |
gobject | pygobject2 | I'm working on the py3 port upstream. Note this replaces the need for modules such as PyGTK which will not be ported | In Fedora 15 onwards as python3-gobject built as as a subpackage of pygobject2 |
gobject | pygobject3 | In Fedora as python3-gobject built as as a subpackage of pygobject3 | |
html5lib | In Fedora as python3-html5lib subpackage of python-html5lib | ||
httplib2 | In Fedora as python3-httplib2 subpackage of python-httplib2 | ||
jinja2 | python-jinja2 | Version 2.3 introduced 'experimental' Python 3 support. | In Fedora 14 onwards as python3-jinja2 subpackage of python-jinja2 (was RHBZ #537268) |
lcgdm | In Fedora as lfc-python3 and dpm-python3 subpackages of lcgdm | ||
In Fedora as loook | |||
lxml | python-lxml | Upstream releasing dual-purpose tarballs | In Fedora 13 onwards as python3-lxml subpackage of python-lxml (was RHBZ #533290) |
mako | python-mako | From version 0.3, mako supports python3 | In Fedora 14 onwards as python3-mako subpackage of python-mako (was RHBZ #585036) |
mysql-connector-python | In Fedora as mysql-connector-python3subpackage of mysql-connector-python | ||
manuel | In Fedora as python3-manuel subpackage of python-manuel | ||
markdown | In Fedora as python3-markdown subpackage of python-markdown | ||
markdown2 | In Fedora as python3-markdown2 subpackage of python-markdown2 | ||
markupsafe | In Fedora as python3-markupsafe subpackage of python-markupsafe | ||
messaging | In Fedora as python3-messaging subpackage of python-messaging | ||
mglob | In Fedora as python3-mglob subpackage of python-mglob | ||
minimock | python-minimock | Asked upstream they will release dual-purpose tarballs | In Fedora 13 onwards as python3-minimock subpackage of python-minimock |
mock | In Fedora as python3-mock subpackage of python-mock | ||
mpich2, openmpi | mpi4py | python3-mpi4py-{openmpi,mpich2} in Fedora 13 onwards, built as a subpackage of mpi4py. | |
In Fedora as nfoview | |||
In Fedora as nordugrid-arc-python3 subpackage of nordugrid-arc | |||
networkx | In Fedora as python3-networkx subpackage of python-networkx | ||
nose | In Fedora as python3-nose subpackage of python-nose | ||
numpy | numpy | python3-{numpy,f2py} in Fedora 15 onwards, built as a subpackage of numpy. | |
paste | python-paste | In Fedora 15 onwards as python3-paste subpackage of python-paste | |
pbs | In Fedora as python3-pbs subpackage of python-pbs | ||
pip | In Fedora as python3-pip subpackage of python-pip | ||
pkgwat | In Fedora as python3-python-pkgwat-api subpackage of python-pkgwat-api | ||
ply | python-ply | 2 and 3 from same tarball from PLY-3.0 onwards; README states "You should not convert PLY using 2to3 -- it is not necessary and may in fact break the implementation." | python3-ply in Fedora 13 onwards, built as a subpackage of python-ply |
postgresql | py-postgresql | In Fedora 13 onwards as python3-postgresql (was RHBZ #579280), though F-13 build is only available as an update | |
psutil | python-psutil | In Fedora 13 onwards as a python3-psutil subpackage | |
psycopg2 | python-psycopg2 | As of 2011-02-06, Psycopg 2.4 beta1 works with Python 3 | In Fedora 16 onwards, as python3-psycopg2 and python3-psycopg2-debug subpackages of python-psycopg2 (was RHBZ #676748) |
pycmd | In Fedora as python3-pycmd subpackage of pycmd | ||
pyfits | pyfits | In Fedora as a python3-pyfits subpackage of pyfits | |
pygments | python-pygments | Upstream reports that "Pygments is already ported to Python 3. The same source release can be used for 2.x and 3.x installs" | In Fedora 14 onwards as a python3-pygments subpackage of python-pygments (was RHBZ #537244) |
pyinotify | In Fedora as python3-inotify subpackage of python-inotify | ||
pyke | pyke | In Fedora 13 onwards as a python3-pyke subpackage of pyke | |
pyp2rpm | pyp2rpm | In Fedora as a python3-pyp2rpm subpackage of pyp2rpm | |
pyparsing | pyparsing | Python 3 support was added in 1.5.2 as a pyparsing_py3.py file | In Fedora as python3-parsing subpackage of pyparsing |
PyQt4 | PyQt4 | In Fedora 14 onwards as python3-PyQt4 and python3-PyQt4-devel subpackages of PyQt4 (was RHBZ #586196) | |
Pyro4 | In Fedora as python3-pyro subpackage of python-pyro | ||
pyshp | pyshp | In Fedora as a python3-pyshp subpackage of pyshp | |
pytest | In Fedora as python3-pytest subpackage of pytest | ||
requests | In Fedora as python3-requests subpackage of python-requests | ||
RestAuthCommon | In Fedora as python3-restauth-common subpackage of python-restauth-common | ||
revisor | In Fedora as revisor-cli subpackage of revisor | ||
scipy | scipy | SVN trunk 6848 works with python 3 | In Fedora as python3-scipy subpackage of scipy |
selinux | libselinux-python | Generated by SWIG during build of libselinux | In Fedora 14 onwards as libselinux-python3 subpackage of libselinux (wasRHBZ #582006) |
semanage | libsemanage-python | Generated by SWIG during build of libsemanage | In Fedora 14 onwards as libsemanage-python3 subpackage of libsemanage (was RHBZ #582007) |
setproctitle | In Fedora as python3-setproctitle subpackage of python-setproctitle | ||
setuptools | python-setuptools | In Fedora 13 onwards as a python3-setuptools subpackage (internally we've switched to the "Distribute" fork) | |
simplegeneric | python-simplegeneric | In Fedora 17 onwards as a python3-simplegeneric subpackage of python-simplegeneric; also added in a Fedora 16 update (was RHBZ #785056) | |
sip | sip | added (single tarball) | In Fedora 14 onwards as python3-sip and python3-sip-devel subpackages of "sip" (was RHBZ #545124) |
six | python-six | In Fedora 16 onwards as python3-six (was RHBZ #690613) | |
sleekxmpp | In Fedora as python3-sleekxmpp subpackage of python-sleekxmpp | ||
smbc | In Fedora as python3-smbc subpackage of python-smbc | ||
smbpasswd | python-smbpasswd | Create own package for p3k; sent patch to upstream | In Fedora 13 onwards as python3-smbpasswd subpackage (was RHBZ #560456) |
sphinx | python-sphinx | Upstream added Python 3.x support to trunk on 2010-07-28 | In Fedora as python3-sphinx subpackage of python-sphinx |
sqlalchemy | python-sqlalchemy | 0.6beta1 has py3k support from a single tarball. | Packaged for F-14. Needs nose3 for running unittests of python3-sqlalchemy. Due to incompatible API, decided not to push back to F-13. |
stomp | In Fedora as python3-stomppy subpackage of stomppy | ||
straight | In Fedora as python3-straight-plugin subpackage of python-straight-plugin | ||
tempita | In Fedora as python3-tempita subpackage of python-tempita | ||
tornado | In Fedora as python3-tornado subpackage of python-tornado | ||
urwid | In Fedora as python3-urwid subpackage of python-urwid | ||
yaml | PyYAML | In Fedora as python3-PyYAML subpackage of PyYAML | |
zmq | In Fedora as subpackages python3-zmq python3-zmq-tests of python-zmq | ||
zope.event | In Fedora as python3-zope-event subpackage of python-zope-event | ||
zope.fixers | In Fedora as python3-zope-fixers src.rpm |
Python 3 code not yet in Fedora
Python Module | Fedora Python 2 package | Upstream status of Python 3 | Fedora Python 3 package |
---|---|---|---|
mod_wsgi | mod_wsgi version 3.0 and later supports Python 3.1 and later: http://code.google.com/p/modwsgi/wiki/SupportForPython3X http://code.google.com/p/modwsgi/wiki/ChangesInVersion0300 | ||
IPy | python-IPy | 0.73 works with Python 3 | |
PyKDE4 | PyKDE4 (from the kdebindings srpm) | RHBZ #587005 | |
rpm | rpm-python (subpackage of "rpm") | dmalcolm and pmatilai ported the C extension for librpm to work with both python 2 and 3; released as rpm 4.8.0 | Needs packaging work: see RHBZ #531543 |
To be categorized
Python Module | Fedora Python 2 package | Upstream status of Python 3 | Fedora Python 3 package |
---|---|---|---|
gedit | |||
gdb | |||
luma | Depend on other packages, which have to migrate to py3k | ||
bugzilla | python-bugzilla | ||
devtools | python-tg-devtools | ||
genshi | python-genshi | experimental py3k branch announced http://groups.google.com/group/genshi/browse_thread/thread/abe214a973b43c84 | |
enum | python-enum | ||
fedora | python-fedora | ||
migrate | python-migrate | ||
nose | python-nose | This is the current nose3 branch on bitbucket. Googlecode branch is out-of-date. This upstream ticket, indicates the trunk will move to python3 only, and python2 will be in maintenance mode but upstream has said that the current py2 branch is being worked on by others and the py3 branch is lagging behind. | |
paste.deploy | python-paste-deploy | ||
paste.script | python-paste-script | ||
py | python-py | 1.3.0 has "...improved compatibility with Python3..." | |
repoze.tm | python-repoze-tm2 | ||
repoze.what | python-repoze-what | ||
repoze.what.plugins.sql | python-repoze-what-plugins-sql | ||
repoze.what.plugins.pylonshq | python-repoze-what-pylons | ||
repoze.what.plugins.quickstart | python-repoze-what-quickstart | ||
repoze.who | python-repoze-who | ||
repoze.who.plugins.friendlyform | python-repoze-who-friendlyform | ||
repoze.who.plugins.sa | python-repoze-who-plugins-sa | ||
repoze.who.plugins.testutil | python-repoze-who-testutil | ||
routes | python-routes | ||
simplejson | python-simplejson | ||
sprox | python-sprox | ||
tg | TurboGears2 | ||
tgext.admin | python-tgext-admin | ||
tgext.crud | python-tgext-crud | ||
tw | python-toscawidgets | ||
turbojson | python-turbojson | ||
turbokid | python-turbokid | ||
tw.forms | python-tw-forms | ||
virtualenv | python-virtualenv | A forked version for Python 3 is available, but I'm not sure how "official" it is | |
weberror | python-weberror | ||
webflash | python-webflash | ||
webhelpers | python-webhelpers | ||
webob | python-webob | ||
webtest | python-webtest | ||
zope.sqlalchemy | python-zope-sqlalchemy |
Python modules that appear to not yet be ready for Python 3 packaging
Please let us know if this information is out-of-date.
FIXME: add note about if a python3 version should be packaged
Python Module | Fedora Python 2 package | Upstream status of Python 3 | Fedora Python 3 package |
---|---|---|---|
augeas | python-augeas | dmalcolm has experimented with porting this to python 3 | |
Cheetah | python-cheetah | As of 2010-02-02, upstream site reports that Python 3.xx support will be in Cheetah v3.0, but that it is "still in planning" | |
cracklib | cracklib-python | Looking at cracklib-2.8.16, looks like the module needs some work to port (e.g. module initialization), and uses automake so may need work to build multiple times | |
django | Django | http://wiki.python.org/moin/PortingDjangoTo3k - there's an experimental branch in bitbucket, but as of 2010-04-09 it doesn't appear to have "official" releases | |
krbV | python-krbV | Implemented in C, would need porting (with 2to3c ?) | |
ldap | python-ldap | Porting discussed on upstream mailing list on 2009-09-03 but appears not to be done yet | |
libvirt | libvirt-python | Porting has not yet started | |
libxml2 | libxml2-python | Porting doesn't seem to have started | |
MySQLdb | MySQL-python | As of 2011-07-25, http://pypi.python.org/pypi/MySQL-python/ said " Python-3.0 will be supported in a future release." | |
nss | python-nss | Looks like we need to port it, and would be non-trivial | |
parted | pyparted | Looks like we need to port it | |
PIL | python-imaging | As of 2010-01-28, upstream website says "The current free version is PIL 1.1.7. This release supports Python 1.5.2 and newer, including 2.5 and 2.6. A version of 1.1.7 for 3.X will be released later." A 2010-02-21 mailing list post suggests that the port is stalled | |
pylons | python-pylons | As of 2010-04-09, it's on the future roadmap for 1.1; see also http://pylonshq.com/project/pylonshq/ticket/425 | |
wx | wxPython | As of 2010-02-03, appears not to be ported yet; see http://stackoverflow.com/questions/720806/wxpython-for-python-3-0 | |
xdg | pyxdg | Appears to not yet be ported; see RHBZ #555620 |
Python 2 modules that are not going to be ported to Python 3
Python Module | Fedora Python 2 package | Notes |
---|---|---|
mod_python | Upstream mod_python has effectively stopped since February 2007. ..."You also will never see a version of mod_python for Python 3.X as that is going to require a radical rewrite"... with various suggestions including moving to mod_wsgi | |
BeautifulSoup | python-BeautifulSoup | 3.1.0 adds Python 3 support, but reportedly doesn't work as well as 3.0.8 (See http://www.crummy.com/software/BeautifulSoup/3.1-problems.html http://groups.google.com/group/beautifulsoup/browse_thread/thread/f24882cc17a0625e and http://stackoverflow.com/questions/149585/beautifulsoups-python-3-compatibility ). However, beautifulsoup4 (see above) adds Python 3 support |
dbus | dbus-python | |
gtk | pygtk2 | The old C-based bindings are not going to be ported. Instead, the "Gtk" module can be accessed from pygobject introspection with upstream trying to make it easy to transition from PyGTK |