Easy way to install all of Python?

22 views
Skip to first unread message

Paul Prescod

unread,
Jan 24, 2021, 9:59:14 AM1/24/21
to pyins...@googlegroups.com
Does there exist any easy way to install a totally sandboxed python installation 

 * with all standard libraries,
 * plus my app 
 * on Mac, windows and Linux?
 * with a single installer?

I don’t think this is the use-case for pyinstaller but is there any tool in the categorubthat makes it easy to build that kind of a fat multi platform installer?

 - Paul

Brendan Simon

unread,
Jan 25, 2021, 4:07:09 AM1/25/21
to pyins...@googlegroups.com, Paul Prescod
That is exactly what PyInstaller does (or can do).  You have to run it
on each platform to build the app bundle for each target (Mac, Windows,
Linux).

The only other alternative (i know of) is Briefcase (Beeware).  It does
the same/similar thing as PyInstaller.

Brendan.

Higor

unread,
Jan 25, 2021, 4:07:29 AM1/25/21
to PyInstaller
I suppose that you could create one pyz file for every platform then combine (they're just zip files) all three into a single fat pyz. I haven't tried that myself but I guess it could work.

Paul Prescod

unread,
Jan 25, 2021, 4:08:02 AM1/25/21
to Bre...@brendansimon.com, pyins...@googlegroups.com
I do not believe that PyInstaller installs all of Python. For example, I was told that it does not install the pip module, which is a key one for my use-case because it would allow a simple upgrade path and a way to install plugins.

Steve Barnes

unread,
Jan 25, 2021, 4:29:55 AM1/25/21
to pyins...@googlegroups.com, Bre...@brendansimon.com

Pyinstallers job isn't to install Python it is to create a file/folder with your code and enough of python for your code to run. If you want to install python go to https://python.org and download python for your platform. If you need to have pip as a part of your code installation you need to tell pyinstaller to include it.

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/CAAKstZJQ0ryvrCQe9CkRTuO%2BXFb3HUO%2BOQTFmvdVcffgFPosDA%40mail.gmail.com.

Paul Prescod

unread,
Jan 25, 2021, 3:08:15 PM1/25/21
to pyins...@googlegroups.com, Bre...@brendansimon.com
On Mon, Jan 25, 2021 at 1:29 AM Steve Barnes <Gadge...@live.co.uk> wrote:

Pyinstallers job isn't to install Python it is to create a file/folder with your code and enough of python for your code to run.


I did say at the beginning "I don’t think this is the use-case for pyinstaller". I'm asking if people on the mailing list know about other tools. For example Higor mentioned pyz's which I hadn't thought of in this context.
 

If you want to install python go to https://python.org and download python for your platform.


Also: I don't want to install Python. I want to install my app which depends upon Python. But t depends upon pretty much all of Python, including pip.

 

If you need to have pip as a part of your code installation you need to tell pyinstaller to include it.


I was told that this won't work.


"You're never going to run anything pip related from a PyInstaller app" 

Adrià Cereto i Massagué

unread,
Jan 26, 2021, 3:55:52 AM1/26/21
to pyins...@googlegroups.com, Bre...@brendansimon.com
I guess your best bet would be to make an installer for each platform that installs Anaconda (or better just miniconda), then have Anaconda silently install your app (for which you'd have to make a conda recipe).
For Windows you could use NSIS, but if you want to share the same code for all platforms, I guess you could write your own installer in Python and then use PyInstaller to package your installer, which will then install your app and miniconda with all the requirements.
You'd still need one installer binary for each platform, since you can't expect Python or Java to be available on Windows.

Adrià Cereto i Massagué

Centre de Ciències Òmiques (COS)

Unitat Mixta URV-Eurecat

Av. Universitat, 1. 
43204 Reus (Catalonia) 
Extensió URV: 4841


Missatge de Paul Prescod <pa...@prescod.net> del dia dl., 25 de gen. 2021 a les 21:08:
--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages