Path: csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!us.feeder.erje.net!nntp.club.cc.cmu.edu!micro-heart-of-gold.mit.edu!bloom-beacon.mit.edu!bloom-beacon.mit.edu!panix!not-for-mail From: Grant Edwards Newsgroups: comp.lang.python Subject: Re: Porting Python Application to a new linux machine Date: Fri, 4 Sep 2015 13:16:15 +0000 (UTC) Organization: PANIX Public Access Internet and UNIX, NYC Lines: 37 Message-ID: References: <4d764608-4091-4600-a1ed-ac11bd790792@googlegroups.com> NNTP-Posting-Host: 67-130-15-94.dia.static.qwest.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: reader1.panix.com 1441372575 1272 67.130.15.94 (4 Sep 2015 13:16:15 GMT) X-Complaints-To: abuse@panix.com NNTP-Posting-Date: Fri, 4 Sep 2015 13:16:15 +0000 (UTC) User-Agent: slrn/1.0.2 (Linux) Xref: csiph.com comp.lang.python:96022 On 2015-09-04, Christian Gollwitzer wrote: > Am 03.09.15 um 16:32 schrieb Heli Nix: > >> 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. > > Another variant is the use of pyinstaller. It can generate a single > directory with a copy of Python and all needed libraries. You can copy > that to a different machine, and often it works - unless libc or some > very basic library is different. Beware that this pulls in half of your > system, so you'll end up with ~100 MB. As an end-user of a number of largish Python applications on Linux, I don't think any of them use anything like pyinstaller (and I would not be very happy if they did -- I've likely got almost all of the required libraries already installed, and I don't need another copy of all that stuff on my machine that then has to be backed up). The normal way to distribute even large Python apps with a lot of required libraries is either as just the Python sources with a 'setup.py' file or as a package that tells the system what dependancies and libraries are required. If you don't want to ship bare sources, the "right" way to distribute a Python app for Linux is as an .rpm, .ebuild, or .deb. -- Grant Edwards grant.b.edwards Yow! An Italian is COMBING at his hair in suburban DES gmail.com MOINES!