Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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 ?

share|improve this question

closed as too broad by dobey, Eric Carvalho, BuZZ-dEE, psusi, Avinash Raj May 15 at 11:55

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

12  
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 at 12:34
3  
@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 at 17:40
3  
@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 at 7:13
    
11.04 reached end of life a year and a half ago.. you should have upgraded long since. –  psusi May 15 at 3:29

7 Answers 7

up vote 0 down vote accepted
+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 (see autopkgtest).

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

share|improve this answer
2  
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 at 20:01

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.

share|improve this answer
    
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. –  begueradj Apr 25 at 12:23
    
Which version do you officially support, 3.2? –  Sylvain Pineau Apr 25 at 12:24
    
I use 3.1.3 version –  begueradj Apr 25 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) –  Sylvain Pineau Apr 25 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 –  Sylvain Pineau Apr 25 at 12:41

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.

share|improve this answer

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.

share|improve this answer

It is depend on your code, If your code use library that is not supported, you cant migrate to newer version of operating system easily, but most of the time no problem will be accured.

share|improve this answer
    
can you explain me how come a Python library depends on a given Ubuntu version ? –  begueradj Apr 25 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 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 at 14:23

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

share|improve this answer
    
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. –  begueradj Apr 26 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 at 11:34

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.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.