With Python 3 becoming the continuing future of Python while Python 2 still is in effective incorporate, you should have your job readily available for both biggest secretes of Python. This informative guide is supposed to support figure out how better to support both Python 2 3 simultaneously.
If you’re looking to port an expansion component in place of pure Python code, please discover Porting Extension segments to Python 3 .
If you would like to read one core Python creator’s undertake exactly why Python 3 had become, look for Nick Coghlan’s Python 3 Q A or Brett Cannon’s Why Python 3 is available.
The Short ExplanationA¶
Usage Pylint to help make positive you do not regress on the Python 3 service ( python -m pip install pylint )
Use caniusepython3 discover which of dependencies is stopping your using Python 3 ( python -m pip install caniusepython3 )
As soon as your dependencies are no lengthier stopping you, use steady integration to make sure you remain appropriate for Python 2 3 (tox might help testing against several forms of Python; python -m pip install tox )
Consider using recommended fixed means checking to be sure your own type application operates both in Python 2 3 (example. use mypy to check on your own typing under both Python 2 Python 3; python -m pip install mypy ).
Mention: utilizing python -m pip install assurances that pip you invoke may be the one set up for the Python presently used, whether it be a system-wide pip or one set up within a virtual conditions .
An important facet about promoting Python 2 3 at the same time is you can beginning today! Regardless of if your own dependencies are not promoting Python 3 yet that will not mean you simply can’t modernize your signal now to guide Python 3. Most variations required to help Python 3 cause cleaner laws making use of new practices in Python 2 laws.
Another a key point is that modernizing your own Python 2 rule to additionally help Python 3 is basically automatic obtainable. You might have to make some API behavior by way of Python 3 clarifying text data versus digital data, the lower-level work is now generally done for you and hence can about benefit from the robotic variations straight away.
Keep those tips in your mind even though you keep reading concerning details of porting your own code to compliment Python 2 3 at the same time.
Shed assistance for Python 2.6 and olderA¶
Whilst you makes Python 2.5 work with Python 3, truly a lot easier in the event that you only have to utilize Python 2.7. If dropping Python 2.5 just isn’t an alternative then the six task will allow you to support Python 2.5 3 at the same time ( python -m pip install six ). Would realize, though, that the majority of the projects listed in this HOWTO will not be accessible to you.
If you should be capable skip Python 2.5 and earlier, then called for modifications your laws should continue steadily to appearance like idiomatic Python signal. At the worst you will have to use a features as opposed to an approach in some instances or need certainly to import a function in the place of making use of an integrated one, but otherwise all round transformation cannot believe international to you personally.
But you should strive for merely promoting Python 2.7. Python 2.6 is no longer freely supported and thus isn’t getting bugfixes. Meaning you will have to function around any dilemmas you find with Python 2.6. Additionally, there are some knowledge mentioned in this HOWTO that do not support Python 2.6 (e.g., Pylint), and this will are more commonplace as time goes on turkish beauties for marriage. It will just getting simpler for you should you decide only support the versions of Python that you must help.