Porting Python Application to a new linux machine

Laura Creighton lac at openend.se
Thu Sep 3 18:26:46 EDT 2015


In a message of Thu, 03 Sep 2015 07:32:55 -0700, Heli Nix writes:
>Dear all, 
>
>I have my python scripts that use several python libraries such as h5py, pyside, numpy.... 
>
>In Windows I have an installer that will install python locally on user machine and so my program gets access to this local python and runs successfully. 
>
>How can I do this in Linux ? ( I want to install python plus my program on the user machine.) I do not want to use the user´s python or to install python on the user´s machine on root. 
>
>Thanks in Advance for your help, 

There are several approaches here.  One is to get your users to
run things in a virtualenv.

see:https://virtualenv.pypa.io/en/latest/
and
https://virtualenvwrapper.readthedocs.org/en/latest/

This works really well, but you have to have users who are
capable of setting up a virtualenv in the first place.
You will still run into problems of 'my shared library is
different from your shared library'.

YOu can also use PyInstaller (which you may have used to make
windows binaries) to make linux ones.  I've never done this, only
made windows ones -- but that is what it says on the label.
https://github.com/pyinstaller/pyinstaller/wiki

I think you will still have to have a set of different files to
download for different linux distributions, but I could be wrong
about that.

And if that problem is unacceptable, then you need docker.
https://www.docker.com/

I've just started playing with it, and I think it is really neat,
but it is too soon for me to have any clue what the problems/tradeoffs
are with it.

Laura



More information about the Python-list mailing list