Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When will most libraries be Python 3 compliant? [closed]

Does anyone have an idea how long it will take before "almost all" widely used Python libraries work with Python 3.0?

I am planning to stay on 2.X for a while because I don't want to start porting stuff over and then find that some library I already rely on or a new library I might start using doesn't work yet with py3k.

My understanding is that the py3k beta process was drawn out specifically to give library developers time to move their stuff over. Has this been happening?

Examples of the sorts of libraries I am talking about would be PIL, numpy/ scipy, SQLAlchemy, BeautifulSoup, CherryPy...

like image 485
indentation Avatar asked Oct 04 '08 16:10

indentation


People also ask

Which is not supported in Python 3?

sublist parameters are not supported in python 3.

Why does Python have so many libraries?

Python developers can make use of extensive libraries. These libraries create an ecosystem that can help with a range of development needs. For example, there's TensorFlow for deep learning, Pandas for data analysis, Flask and Django for web application development, and NumPy and SciPy for scientific computing.

Why is Python 3 needed?

Python 3 makes coding more obvious and intuitive by removing duplicate constructs and modules; Python 3 simplifies multilingual support, with its core string type based on Unicode by default; Python 3 makes it easier to swap in any print function, now that Print () is built-in (rather than a statement);

What is the difference between Python3 and Python?

The fundamental difference between Python and Python 3 is that Python 3 is not compatible with the older versions of Python. One significant change is that the code that works in Python 2.7 will not work in Python 3, they need to be written in different ways.


2 Answers

The examples you have listed will probably be ported very quickly, as they are so widely used.

I would be surprised if BeautifulSoup takes more than a month (In fact, I'm surprised it hasn't been ported already using the py3k betas), more complex things like numpy may take a big longer, especially because 2to3 only works on python sources, not C modules..

It's hard to generalise - some modules may never be ported, some may take days, others may take years. It could end up being a situation along the lines of "well I'm not porting my library to Python3, no one is using it!"/"Well I'm not porting my project to python3, no libraries have been updated yet!", but I hope not!

like image 192
dbr Avatar answered Oct 30 '22 10:10

dbr


Actually, the reply to your question depends on the actions of so many different people (all the maintainers of libraries outside the Python std lib), that I think that no-one can give you a reliable answer to your question.

That said, you've had already some answers, and you will have more. We agree on one thing, though: as a rule of thumb, I typically suggest that important projects (related to work, mainly) should not be ported immediately to new development technologies (Python 3, .Net 3.x, etc) until such answers as yours have already been answered and many of the initial bugs have been solved.

For pet or test projects, though, I'm all in for updates and experimentation.

like image 42
tzot Avatar answered Oct 30 '22 08:10

tzot