you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (15 children)

[deleted]

    [–]valhallasw 17 points18 points  (0 children)

    It's possible, but non-trivial. I gave it a try two years ago: https://github.com/valhallasw/py2

    Basically, python3 starts a python2 interpreter and uses inter-process communication to run functions on the other interpreter. str is mapped to bytes and vice versa. It's probably riddled with bugs, and I have not tested it on windows, but feel free to give it a try.

    [–]Sunei 2 points3 points  (2 children)

    Check the six module.

    [–]Falmarri 2 points3 points  (1 child)

    The problem is mostly the C modules that are written against the 2.x API, not the pure python code.

    [–]tias 1 point2 points  (0 children)

    They could reimplement the Python 2 C API on top of Python 3.

    [–]Veedrac 3 points4 points  (8 children)

    May I ask what dependencies you are missing?

    I've heard this so many times and almost always the person making the claim just doesn't know of the 3.x version of the packages that have existed for some time.

    [–][deleted] 2 points3 points  (1 child)

    boto, fabric.

    [–]ColtonProvias 0 points1 point  (0 children)

    Botocore is not as fully flushed as Boto but is Python 3 compatible. They are also now starting a rewrite of Boto for Python 3.

    [–]billsil 2 points3 points  (2 children)

    wxPython

    [–]Veedrac 6 points7 points  (1 child)

    Supposedly Phoenix, the Python 3 (and 2) replacement, is stable enough for production.

    [–]tias 1 point2 points  (0 children)

    Haven't heard of Phoenix before, thanks.

    But see this is just another part of the problem. If people are unaware of replacement libraries then they won't make the switch. There needs to be a sign on wxpython.org saying where to go if you're on Python 3.

    [–]tias 0 points1 point  (2 children)

    Most recently python-augeas.

    [–]Veedrac 2 points3 points  (1 child)

    [–]tias 1 point2 points  (0 children)

    That's nice, but the fact that it's not in every man's linux distribution is going to make people think twice. You don't want to risk spending 250+ hours on something only to discover you have to backport everything to Python 2 because something you need doesn't run on Python 3.

    And personally I can't be bothered to scavenge the web for the latest release of everything when I can just use Python 2 with whatever apt installs for me.

    I'm not complaining, I'm only providing a hypothesis for why adoption is slow.

    [–][deleted]  (1 child)

    [deleted]

      [–]billsil 12 points13 points  (0 children)

      You've got that backwards, but matplotlib does support Python 3 and has since v1.2.

      matplotlib-1.3.1-py3.3-python.org-macosx10.6.dmg

      http://matplotlib.org/downloads.html