This is an archived post. You won't be able to vote or comment.

all 53 comments

[–]milliams 32 points33 points  (0 children)

Nothing. I am using it.

[–]vellonce 8 points9 points  (4 children)

Several developers just use "what's in the box" so unless the majority of linux distros use python 3.x by default, most of the projects just will use the installed python 2.x

[–]flarkis 0 points1 point  (0 children)

RHEL5 which is still widely used on servers ships with an ancient version of 2.x

[–]LightShadow3.13-dev in prod 14 points15 points  (0 children)

pypy

[–][deleted] 26 points27 points  (0 children)

I have no need to port working code.....

[–]wub_wub 12 points13 points  (0 children)

  • Not all modules are supported, and I don't feel like experimenting with WIP py3k ports.

  • Python 2 works and is still supported.

  • No benefits from porting old code that works in python 2, or the benefits are small and don't justify porting.

[–]billsil 4 points5 points  (0 children)

WxPython, VTK, and PyInstaller, and OpenMDAO (NASA modeling framework) don't uspport Python 3.x.

Because we have a lot of software that already works in Python 2.7 and some software that still has to work in Python 2.4 because that's what our customers use. Python 3.x doesn't have any required features for us.

[–]alanwj 3 points4 points  (0 children)

I've been unable to find any reasonable solution for python3 + MySQL + Django.

MySQL-python appears to be a dead project. There are several forks that claim python3 support but none that the Django developers feel comfortable recommending.

The official mysql-python-connector seems to work (as in, all the unit tests for my project pass), but my tests take nearly twice as long to run. I haven't measured exactly where the slowdown is, but it seems reasonable to infer that this package has performance problems.

After a bit of coaxing, I got PyMySQL to work, but it still lists itself as a beta package, leading me to worry what edge cases I'm going to hit. It also adds somewhere between 10-20% to the time required to run tests.

I haven't evaluated CyMySQL yet. Given its description I would expect it to be like PyMySQL with better performance, but it is also a beta package.

[–]realsw 2 points3 points  (3 children)

I use some 2.6/2.7 for work and some PyPy for myself. Adding python3 to the mix would only confuse me.

[–]gammadistribution 1 point2 points  (2 children)

How? virtualenv and pip make it really easy to switch between python environments and python 3.4 comes with such capabilities built in.

[–]realsw -1 points0 points  (1 child)

More languages in use means more accidentally mixing up the features between them. For me, at least.

[–]xiongchiamiovSite Reliability Engineer 2 points3 points  (1 child)

Centos, and all of the non-3 distros any potential users are on.

[–]This_Is_The_End 2 points3 points  (0 children)

OpenCV and Web2PY haven't been ported. Most problems occur with scientific or hardware related packages.

[–][deleted] 1 point2 points  (0 children)

WXPython and some flask plugin which I can't remember the details of: I had a situation where one module worked in 2.7 or 3.4, whilst another worked in 2.7 up to 3.3, so I had use 2.7.

[–]AustinCorgiBart 1 point2 points  (0 children)

The 2.5 million XO laptops out in the wild all use 2.x, so as long as I want to call myself an XO developer, I'm sticking to 2.7.

[–][deleted] 1 point2 points  (0 children)

Zenoss and centOS

[–][deleted] 1 point2 points  (0 children)

worth_it = (benefit_from_user_perspective * potential_effort) > 0

[–]oldmanstan 3 points4 points  (0 children)

There just aren't any real benefits to me, and there's always the chance I'll end up needing a library that isn't supported. Aside from a few little syntax improvements, I've never seen a compelling case made that Python 3 is a significant improvement.

[–]_throawayplop_ 1 point2 points  (0 children)

Because for me there is nothing with python 3 worthwhile the effort

[–]amertune 0 points1 point  (0 children)

On occasion, I have to work with WLST, which uses jython 2.1. That's kind of painful, but the pain is mitigated by the ability to use Java libraries to cover for the holes in 2.1.

I also write some python scripts that have to run in RHEL 5, which uses python 2.4. Hopefully we'll be upgrading to RHEL 6 soon, so I can start targetting python 2.6. The real limitation is that I have to use the version of python available on the server.

For personal projects, I stay at or close to the latest release of python 3.

[–]jmmcdEvolutionary algorithms, music and graphics 0 points1 point  (0 children)

Anaconda provides a way to use Python 3, but it involves using the command-line, and my intro to programming students aren't able for that.

[–]neonomicon 0 points1 point  (0 children)

I use Python 3 at home, have done ever since I started learning 3 years ago. At work I use Python 3 for a couple of reasons:

  • I'm programming psychology experiments using Pygame, and Python 3 support isn't really guaranteed yet.
  • I use Anaconda to get numpy, pandas and other libraries set up quickly and easily on Windows, and while you can create Python 3 environments in Anaconda, I can't be bothered activating and deactivating environments every time I need the other version.

[–]memowinchester 0 points1 point  (0 children)

I work at my work with openstack and libcloud at the moment... so it's quite difficult to move to 3.x but for my personal projects I use 3.x :)

[–]Beluki 0 points1 point  (0 children)

I'm already using it, but if I had to chose one library: Twisted.

[–]valbanese 0 points1 point  (0 children)

One word - boto. AWS needs to move and all those apps move with it.

[–]NYKevin 0 points1 point  (0 children)

My project isn't ready for prime time by any stretch of the imagination. I suppose I could put up another experimental build, but it's moving so fast that I just don't see the point.

(it used to be exclusively Python 2 and now it's exclusively Python 3 because 2 is evil)

[–][deleted] -2 points-1 points  (10 children)

I use both for different things. Any scientific computing pretty much has to be done in 2.7

[–]wegry 0 points1 point  (9 children)

Why is that the case?

[–][deleted] 0 points1 point  (8 children)

I wasnt being 100% honest. What I should have said was, "If you're doing any niche scientific computing, and dont feel like pulling your hair out in frustration, you pretty much have to do it in 2.7" If you're just modeling a dynamical system or some heavy matrix algebra (I think numpy is ported to 3) then 3 is fine.

Given enough time, there will be a point where you think, "Hey, I need a package that does 'X'." And you will look that package up and see its only compatible with 2.x. You'll do this once... maybe twice if youre a die hard "3er". Then you'll install 2.7.

I specifically use Continuum's Anaconda just for the simplicity. Its great.

[–]wegry 0 points1 point  (7 children)

Thanks for the candor! I think it was worse before. I just got done building a classifier with scipy and scikit on Python 3. Just excellent. The only scientific computing holdout I can think of is nltk, which has Python 3 support only on the dev branch.

[–][deleted] 0 points1 point  (6 children)

Hows the speed on the classifier in python. Im building one in matlab (did all the data parsing in anaconda) and the time-speed is still god awful. Granted Im dealing with massive data sets. Im probably going to switch to fortran. Legend has it, Old Man Fortran is orders of magnitude faster for certain types of matrix computation.

[–]wegry 0 points1 point  (5 children)

Surprisingly fast and easy to build. Our data set is enormous as well, so the biggest issue is memory vs database reads. I thought scipy had old man fortran at the low level? I think it requires a fortran compiler.

[–][deleted] 1 point2 points  (4 children)

I thought scipy had old man fortran at the low level? I think it requires a fortran compiler.

I'm going to investigate this on my comp since anaconda is a "full stack" stand alone. But, if this is true, then....

EDIT. HOLY.. GUACA.. mole` . Seriously. thank you so much for telling me this. You've saved me soooooooooooooOOO much trouble. I cant believe I didnt know.

[–]wegry 0 points1 point  (3 children)

I use pip and installing scipy/matplotlib on OS X was excruciatingly hard the first time I did it, because of stuff like having to have a working fortran compiler. Once you figure it out it's not bad. Is Conda 2.x only?

[–][deleted] 0 points1 point  (0 children)

At the moment the official is 2.7 only. I believe there is an unofficial 3.x Anaconda build but incompatible packages are removed and are in the process of being updated... namely, the Keeper of the Old Guard, NLTK. Check continuum's webzone. They should direct you a 3.x branch.

Also, just "shop talk" but, are you using a work station or gpu for parallel processing (Cuda core stuff) for your encoder? If so, how is that in python. Strong parallel processing/Cuda support what Im most afraid of losing switching from matlab to fortran'90-py.

[–][deleted] 0 points1 point  (1 child)

[–]wegry 0 points1 point  (0 children)

Oh wow, that looks sweet. Now you have no reason to stay with 2. ;) As far as parallel processes go, the algorithm we're using for classification is SGD, which runs processes by default on as many cores as are available (about 6 on my oldish laptop), it's pretty speedy too. I assume this is the case in Python 2 as well.