11

I have a software that I have been developing in Python 3 for years. Until today, I have been using Ubuntu Desktop 11.04 but now I want to move to a higher version of Ubuntu.

Must I stay on Ubuntu 11.04 so that I won't have to change parts of the source code of my software due to new changes in the higher versions of Ubuntu?

Won't a recent Ubuntu version affect my software in any way ?

4
  • 18
    This really is no-brainer for me: update to 14.04, if anything is broken in your software: fix it. This is an excellent exercise to avoid software-rot. The type of problem you might find is with dependencies. You could test these in advance in a virtualenv.
    – don.joey
    Apr 25, 2014 at 12:34
  • 6
    @begueradj I don't want to minimize the effort that it is going to take nor nullify your reasons. It is just: either you put the effort in or your software is really not going to last very long anymore. You can upgrade to 12.04, but staying on a EOL version is problematic. And the problem is not going to go away by itself...
    – don.joey
    Apr 25, 2014 at 17:40
  • 5
    @begueradj - please edit your question and give some details about your software. Describe what it does. Describe what toolkit's you are using (e.g. GTK? QT?). Describe what third party software it depends upon (e.g. a specific version of firefox? Webkit?). Describe the software dependencies to build your software. Without the information above, you will not get a specific answer to your question. You will just get a general answer as you currently have.
    – fossfreedom
    May 11, 2014 at 7:13
  • 3
    11.04 reached end of life a year and a half ago.. you should have upgraded long since.
    – psusi
    May 15, 2014 at 3:29

7 Answers 7

13

No, you should not stay on 11.04. It has been End of Life for support since October 2012. If you want any support at all, you need to upgrade, at least to 12.04 (which will be supported for three more years).

Also, even newer versions of of Ubuntu are including Python 3.x by default, with a goal of removing Python 2.x from the default install completely.

You may have issues with running your code under a newer version of Python 3.x, but should in general have no problems. You should also, as a developer, be prepared to deal with any such issues, regardless of what version of Ubuntu you are on. Any library you're using, or Python itself, could have a bug which your code depends on behaviorally, and if that bug is fixed, could cause your program to behave different from how you were expecting it to previously.

11

Difficult to give a definitive answer without a description of your application. Since you're using Python3, at least you're not limited with the Python2.x branch (there will be no Python 2.8).

Now a few warnings that may apply to your application, with Python3 a lot of packages are now deprecated just because the best way to access GLib/GObject/GIO/GTK+ is by using Python GObject Introspection (aka PyGI).

Finally there's still some minor differences between the different python3 versions (e.g Argparse does not behave exactly the same with python 3.2 and 3.3.

One thing you could try is to boot a 14.04 VM and test your code with python3.4.

12
  • I won't change my Python version (it is impossible), I am more concerned about how a new Ubuntu version could affect my software's source code.
    – user284234
    Apr 25, 2014 at 12:23
  • Which version do you officially support, 3.2? Apr 25, 2014 at 12:24
  • I use 3.1.3 version
    – user284234
    Apr 25, 2014 at 12:25
  • I'd encourage you to test your app with python3.2 (boot a 12.04 VM and sudo apt-get install python3). You can also check the release note of python3.2 but as far as I know python3.2 was just tons of improvements over the 3.1.x branch (argparse was one of them) Apr 25, 2014 at 12:33
  • 1
    For python3 programs, upgraded python versions are just providing even more efficient ways to do complex tasks. Python3.4 for instance, introduces asyncio and it will allow me to get rid of really complex glib mainloop/threading issues. I put a note about argparse because I've been trapped in recent changes but it's not a big deal. So again test your sw with recent versions (3.2 then 3.4 with 14.04) but like others answsers say you shouldn’t encounter major issues Apr 25, 2014 at 12:41
3
+200

Based on your comments, you successfully tested your software on VMs which is a good news.

But as an application developer you must be prepared to adapt your code to newer releases otherwise it will be quickly abandoned.

Now to ensure that it will continue to work with new releases of Ubuntu I strongly encourage you to maintain it as a package and provide a complete test suite for your application and call it during the build process of the package (e.g by calling setup.py test in your debian/rules override_dh_auto_test section).

You can easily set up daily builds of your package in a ppa using a bzr-builder recipe. That way, you'll be notified of all build failures caused by new software versions or broken dependencies.

New releases are usually open for development a few days after the official release announcement. Look at our ppa page, Utopic is now part of the distro series we are building for:

enter image description here

5
  • 3
    Why do you have 2 answers on this same question? Also, autopkgtest doesn't work that way. And how does this actually answer the question any better or more precisely than any of the other questions?
    – dobey
    May 13, 2014 at 20:01
  • I posted a second answer during the bounty period. This time to focus on how to prevent update issues hoping to bring what the OP really expected (since per his comment I knew that his application works correctly with 14.04) Sep 11, 2014 at 14:21
  • I recommend you to ask another question to put your answer there. BTW, I would fix the autopgktest part. @dobey is right, it doesn't work that way.
    – Braiam
    Sep 13, 2014 at 16:08
  • @dobey autopkgtest fixed/removed from my answer. Sep 14, 2014 at 15:43
  • @Braiam autopkgtest fixed/removed from my answer Sep 14, 2014 at 15:43
2

It is dependant on your code, If your code uses libraries that are not supported, you can't migrate to a newer version of an operating system easily, but most of the time no problem will occur.

3
  • can you explain me how come a Python library depends on a given Ubuntu version ?
    – user284234
    Apr 25, 2014 at 15:32
  • @begueradj It doesn't, but if you are using a Python library that is no longer maintained, it could have been dropped from the Ubuntu archive at some point, and thus not available on a newer version. Your code would then fail. You can of course, install the library package from an older version of Ubuntu, or from source, to resolve the issue, though you won't get any updates for it; or you can fix your code to use a different library or write your own code to perform the same functions.
    – dobey
    Apr 25, 2014 at 20:26
  • as @dobey said, some libraries is not maintained any more or its newer version break backward compatibility. In past, I have some issues with Turbogears when I upgrade to newer version of Ubuntu.
    – Ocean
    Apr 26, 2014 at 14:23
0

Ubuntu 14.04 has python3 packages, so that's not a problem. apt-cache search python3 will show them to you. Beyond that, you will have to read the release notes for each Ubuntu release between 11.04 and the "higher version", and search for a change that will break your application. Not knowing anything about your development requires me to shout YMMV, but my guess is that you will not have unsurmountable problems.

0

If you need to run an old version of Python on Ubuntu 14.04 then enable the deadsnakes repository. It has Python versions 2.3, 2.4, 2.5, 2.6, 3.1, 3.2, 3.3 for Ubuntu 14.04. If your application is pure Python code, and does not depend on the behaviour of other processes, then it should work fine running under an old interpreter.

0

As another answer, you can use virtual environment if you have any issue or you can use same version of python on 11.04 (download and build it) in 14.04.

2
  • Surely I can test on VMs (I did it), my software works well ... for the moment ... but I have no clue if it will bug later because of the new Ubuntu version.
    – user284234
    Apr 26, 2014 at 14:41
  • 1
    Because Ubuntu 14.04 is LTS version and based on their philosophy, they will not change version (bomb on major version) and configuration, I think you must not have any problem.
    – Ocean
    Apr 28, 2014 at 11:34

You must log in to answer this question.