From Fedora Project Wiki
(→Porting status: pyxdg is now available) |
|||
Line 199: | Line 199: | ||
|- | |- | ||
| urwid || || || In Fedora as '''python3-urwid''' subpackage of python-urwid | | urwid || || || In Fedora as '''python3-urwid''' subpackage of python-urwid | ||
|- | |||
| xdg || pyxdg || || In Fedora as '''python3-pyxdg''' subpackage of pyxdg as of Fedora 17 onwards (via [https://admin.fedoraproject.org/updates/pyxdg-0.23-1.fc17 an update]) | |||
|- | |- | ||
| yaml || PyYAML || || In Fedora as '''python3-PyYAML''' subpackage of PyYAML | | yaml || PyYAML || || In Fedora as '''python3-PyYAML''' subpackage of PyYAML | ||
Line 340: | Line 342: | ||
|- | |- | ||
| wx || wxPython || As of 2010-02-03, appears not to be ported yet; see http://stackoverflow.com/questions/720806/wxpython-for-python-3-0 || | | wx || wxPython || As of 2010-02-03, appears not to be ported yet; see http://stackoverflow.com/questions/720806/wxpython-for-python-3-0 || | ||
|} | |} | ||
Revision as of 21:54, 8 October 2012
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. | |
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 | ||
xdg | pyxdg | In Fedora as python3-pyxdg subpackage of pyxdg as of Fedora 17 onwards (via an update) | |
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 | ||
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 | All versions of Python 3 include the json module in the standard library | |
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. Python 3.3 includes the "venv" module in the standard library (see PEP 405) | |
weberror | python-weberror | ||
webflash | python-webflash | ||
webhelpers | python-webhelpers | ||
webob | python-webob | WebOb 1.2+ supports Python 3.2+ | |
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 | |
paste | python-paste | In Fedora 15 onwards a python3-paste subpackage was added to python-paste, but it didn't actually work (upstream hadn't ported to python3), so this has been blocked as of Fedora 17 onwards | |
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 |
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 |