codehaus


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to make a cross platform python app with pyinstaller??


On 04Feb2020 21:27, Michael Torrie <torriem at gmail.com> wrote:
>On 2/4/20 8:33 PM, Chris Angelico wrote:
>> On Wed, Feb 5, 2020 at 2:32 PM Souvik Dutta <souvik.viksou at gmail.com> wrote:
>>> I made a python gui with pyqt5 and packed it with pyinstaller. It is
>>> running well in my computer but when I gave it to a friend who doesn't have
>>> any python version installed and it didn't run. The message was "This app
>>> cannot be run on your pc.". How can I solve this???
>>
>> Distribute the .py file instead. It can then run on any computer with
>> Python installed.
>
>And PyQt5 installed of course.  And Qt5.  None of which is likely to be
>a commonly installed software package.  Asking someone to install Python
>separately to run your app is a tall order, to say nothing of PyQt5.  So
>while this answer is technically correct, the larger issue of
>distributing Python programs remains. [...]

The purpose of tools like py2installer is to build an app containing all 
the required dependencies. I've been using py2app for this myself, and 
confess to being rather ignorant about the internals.  However, it has 
problems; the Python executable itself is part of the problem.

MacOS apps at least have some funky library linking stuff which lets you 
derive the library locations from the app location, etc. However, I've 
had plenty of pain with this myself.

I'm contemplating not just including a virtualenv in the app but a whole 
python install.

Cheers,
Cameron Simpson <cs at cskk.id.au>