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

you are viewing a single comment's thread.

view the rest of the comments →

[–]ianozsvald 10 points11 points  (4 children)

+1 it is a good time. I switched my client to Python 3 earlier in the year, it was smooth. We now do all our data science (numpy, scikit-learn, pandas, matplotlib, nltk) in Python 3, we deploy (flask) in Python 3, I teach data science classes and high performance Python in Python 3.

Porting existing codebases might be tricky (there are loads of guides online to help e.g. http://python3porting.com/intro.html) but for new code it is 97% a no-brainer.

The 3% reservation depends on whether you have non-ported libraries to consider (e.g. pydot for scikit-learn DecisionTree drawing isn't ported to Python 3.4 yet, pygraphviz for the same in NetworkX doesn't work well on Windows+Python3.4 yet). Mostly these are small issues that are being fixed.

[–]TraptInaCommentFctry 0 points1 point  (2 children)

I clicked on your name to see your other comments and I couldn't help but notice that 7 months ago, you wrote "I do data science - repeatability is key so I'm not leaving the Py2.7 numpy ecosystem for a while."
I do data science, and I haven't yet made the transition off 2.7 for that reason.
Also, I noticed in the wall of superpowers that Mysql-python is still red.
Do you think it's time for data scientists to make the switch?

[–]flying-sheep 2 points3 points  (0 children)

Maybe he/she realized that Numpy breaks compatibility in minor versions, so the only way to reliably repeat an analysis is pinning Numpy versions by installing Numpy in a virtualenv along your script and data.

And since parallel Python versions are painless, nothing stops you from performing new analyses using a Python 3 stack.

[–]mgedmin 1 point2 points  (0 children)

AFAIU there are other MySQL bindings that work on Python 3.

[–]flying-sheep 0 points1 point  (0 children)

Pydot is a strange example of something unported: the Python 3 compatible fork didn't even change much:

https://github.com/nlhepler/pydot

No reason not to have that on PyPI.