Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

I put up my thumb... and it blotted out the planet Earth. -- Neil Armstrong


devel / comp.lang.python / Re: How to package a Python command line app?

SubjectAuthor
* How to package a Python command line app?Manfred Lotz
+* Re: How to package a Python command line app?Loris Bennett
|`* Re: How to package a Python command line app?Manfred Lotz
| `- Re: How to package a Python command line app?Loris Bennett
+* Re: How to package a Python command line app?Dieter Maurer
|`* Re: How to package a Python command line app?Manfred Lotz
| `- Re: How to package a Python command line app?Anssi Saari
`* Re: How to package a Python command line app?Barry
 `* Re: How to package a Python command line app?Manfred Lotz
  +* Re: How to package a Python command line app?Peter J. Holzer
  |`- Re: How to package a Python command line app?Manfred Lotz
  `* Re: How to package a Python command line app?Mats Wichmann
   `- Re: How to package a Python command line app?Manfred Lotz

1
How to package a Python command line app?

<20211208123136.52690b4f.ml_news@posteo.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16343&group=comp.lang.python#16343

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ml_n...@posteo.de (Manfred Lotz)
Newsgroups: comp.lang.python
Subject: How to package a Python command line app?
Date: Wed, 8 Dec 2021 12:31:36 +0100
Lines: 27
Message-ID: <20211208123136.52690b4f.ml_news@posteo.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Trace: individual.net mn++25Fz4HT0kZ9sHarv/gbFew5ly34qR3JFs3ovSijiGLwFR1
X-Orig-Path: ID-313237.user.individual.net!not-for-mail
Cancel-Lock: sha1:z44Uonw+2Ne4Y1S306VaoDD4mIM=
X-Newsreader: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
 by: Manfred Lotz - Wed, 8 Dec 2021 11:31 UTC

The are many possibilities to package a Python app, and I have to admit
I am pretty confused.

Here is what I have:

A Python command line app which requires some packages which are not in
the standard library.

I am on Linux and like to have an executable (perhaps a zip file with a
shebang; whatever) which runs on different Linux systems.

Different mean
- perhaps different glibc versions
- perhaps different Python versions

In my specific case this is:
- RedHat 8.4 with Python 3.6.8
- Ubuntu 20.04 LTS with Python 3.8.10
- and finally Fedora 33 with Python 3.9.9

Is this possible to do? If yes which tool would I use for this?

--
Manfred

Re: How to package a Python command line app?

<87v8zzb1qf.fsf@hornfels.zedat.fu-berlin.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16344&group=comp.lang.python#16344

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: loris.be...@fu-berlin.de (Loris Bennett)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Wed, 08 Dec 2021 15:38:48 +0100
Organization: Freie Universitaet Berlin
Lines: 51
Message-ID: <87v8zzb1qf.fsf@hornfels.zedat.fu-berlin.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: news.uni-berlin.de /PBT1ctjhbFyCL/Uig7u8Qvv63cOPjjC0mrZwTqpcOH5nR
Cancel-Lock: sha1:GyhpJU36N8VzEJ3hrM42EuZdQF0=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
 by: Loris Bennett - Wed, 8 Dec 2021 14:38 UTC

Hi Manfred,

Manfred Lotz <ml_news@posteo.de> writes:

> The are many possibilities to package a Python app, and I have to admit
> I am pretty confused.
>
> Here is what I have:
>
> A Python command line app which requires some packages which are not in
> the standard library.
>
> I am on Linux and like to have an executable (perhaps a zip file with a
> shebang; whatever) which runs on different Linux systems.
>
> Different mean
> - perhaps different glibc versions
> - perhaps different Python versions
>
> In my specific case this is:
> - RedHat 8.4 with Python 3.6.8
> - Ubuntu 20.04 LTS with Python 3.8.10
> - and finally Fedora 33 with Python 3.9.9
>
>
> Is this possible to do? If yes which tool would I use for this?

I use poetry[1] on CentOS 7 to handle all the dependencies and create a
wheel which I then install to a custom directory with pip3.

You would checkout the repository with your code on the target system,
start a poetry shell using the Python version required, and then build
the wheel. From outside the poetry shell you can set PYTHONUSERBASE and
then install with pip3. You then just need to set PYTHONPATH
appropriately where ever you want to use your software.

Different Python versions shouldn't be a problem. If some module
depends on a specific glibc version, then you might end up in standard
dependency-hell territory, but you can pin module versions of
dependencies in poetry, and you could also possibly use different
branches within your repository to handle that.

HTH

Loris

Footnotes:
[1] https://python-poetry.org

--
This signature is currently under construction.

Re: How to package a Python command line app?

<20211208174700.038dd59b.ml_news@posteo.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16346&group=comp.lang.python#16346

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ml_n...@posteo.de (Manfred Lotz)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Wed, 8 Dec 2021 17:47:00 +0100
Lines: 65
Message-ID: <20211208174700.038dd59b.ml_news@posteo.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<87v8zzb1qf.fsf@hornfels.zedat.fu-berlin.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Trace: individual.net 95veZ4+kv3JUe1z2fVOPsQu1HLZYXK/3SvqUrXiOqA3PFqrs5i
X-Orig-Path: ID-313237.user.individual.net!not-for-mail
Cancel-Lock: sha1:u8A0SSgT0ZeqUdn5dsmUlz5Qnx4=
X-Newsreader: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
 by: Manfred Lotz - Wed, 8 Dec 2021 16:47 UTC

Hi Loris,

On Wed, 08 Dec 2021 15:38:48 +0100
"Loris Bennett" <loris.bennett@fu-berlin.de> wrote:

> Hi Manfred,
>
> Manfred Lotz <ml_news@posteo.de> writes:
>
> > The are many possibilities to package a Python app, and I have to
> > admit I am pretty confused.
> >
> > Here is what I have:
> >
> > A Python command line app which requires some packages which are
> > not in the standard library.
> >
> > I am on Linux and like to have an executable (perhaps a zip file
> > with a shebang; whatever) which runs on different Linux systems.
> >
> > Different mean
> > - perhaps different glibc versions
> > - perhaps different Python versions
> >
> > In my specific case this is:
> > - RedHat 8.4 with Python 3.6.8
> > - Ubuntu 20.04 LTS with Python 3.8.10
> > - and finally Fedora 33 with Python 3.9.9
> >
> >
> > Is this possible to do? If yes which tool would I use for this?
>
> I use poetry[1] on CentOS 7 to handle all the dependencies and create
> a wheel which I then install to a custom directory with pip3.
>
> You would checkout the repository with your code on the target system,
> start a poetry shell using the Python version required, and then build
> the wheel. From outside the poetry shell you can set PYTHONUSERBASE
> and then install with pip3. You then just need to set PYTHONPATH
> appropriately where ever you want to use your software.
>

In my case it could happen that I do not have access to the target
system but wants to handover the Python app to somebody else. This
person wants just to run it.

> Different Python versions shouldn't be a problem. If some module
> depends on a specific glibc version, then you might end up in standard
> dependency-hell territory, but you can pin module versions of
> dependencies in poetry, and you could also possibly use different
> branches within your repository to handle that.
>

I try to avoid using modules which depeng on specific glibc.

Although, it seems that it doesn't really help for my use case I will
play with poetry to get a better understanding of its capabilities.

--
Thanks a lot,
Manfred

Re: How to package a Python command line app?

<87tufi5h1p.fsf@hornfels.zedat.fu-berlin.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16371&group=comp.lang.python#16371

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: loris.be...@fu-berlin.de (Loris Bennett)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 09 Dec 2021 09:16:50 +0100
Organization: Freie Universitaet Berlin
Lines: 89
Message-ID: <87tufi5h1p.fsf@hornfels.zedat.fu-berlin.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<87v8zzb1qf.fsf@hornfels.zedat.fu-berlin.de>
<20211208174700.038dd59b.ml_news@posteo.de>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: news.uni-berlin.de HOp9b5VSd4+TZh+6WY3dJAnQMRBuC3t0V3jvhWcCTHGr52
Cancel-Lock: sha1:ncQOeoi9Z/KKfzh30rtgYFEkDCA=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
 by: Loris Bennett - Thu, 9 Dec 2021 08:16 UTC

Hi Manfred,

Manfred Lotz <ml_news@posteo.de> writes:

> Hi Loris,
>
> On Wed, 08 Dec 2021 15:38:48 +0100
> "Loris Bennett" <loris.bennett@fu-berlin.de> wrote:
>
>> Hi Manfred,
>>
>> Manfred Lotz <ml_news@posteo.de> writes:
>>
>> > The are many possibilities to package a Python app, and I have to
>> > admit I am pretty confused.
>> >
>> > Here is what I have:
>> >
>> > A Python command line app which requires some packages which are
>> > not in the standard library.
>> >
>> > I am on Linux and like to have an executable (perhaps a zip file
>> > with a shebang; whatever) which runs on different Linux systems.
>> >
>> > Different mean
>> > - perhaps different glibc versions
>> > - perhaps different Python versions
>> >
>> > In my specific case this is:
>> > - RedHat 8.4 with Python 3.6.8
>> > - Ubuntu 20.04 LTS with Python 3.8.10
>> > - and finally Fedora 33 with Python 3.9.9
>> >
>> >
>> > Is this possible to do? If yes which tool would I use for this?
>>
>> I use poetry[1] on CentOS 7 to handle all the dependencies and create
>> a wheel which I then install to a custom directory with pip3.
>>
>> You would checkout the repository with your code on the target system,
>> start a poetry shell using the Python version required, and then build
>> the wheel. From outside the poetry shell you can set PYTHONUSERBASE
>> and then install with pip3. You then just need to set PYTHONPATH
>> appropriately where ever you want to use your software.
>>
>
> In my case it could happen that I do not have access to the target
> system but wants to handover the Python app to somebody else. This
> person wants just to run it.

For what ever reasons, there does not seem to be much focus on this kind
of deployment for Python. Similar to the way things are with Perl, the
assumption seems to be that you have a working environment and install
any dependencies needed to get the program you have been given working.

I have never used it, but you might want to look at something like
pyinstaller

https://pyinstaller.readthedocs.io

However, it looks as if it is aimed towards bundling a single script. I
don't know how it would work if you have a more complex program
consisting of a number of modules.

>> Different Python versions shouldn't be a problem. If some module
>> depends on a specific glibc version, then you might end up in standard
>> dependency-hell territory, but you can pin module versions of
>> dependencies in poetry, and you could also possibly use different
>> branches within your repository to handle that.
>>
>
> I try to avoid using modules which depeng on specific glibc.

So would I, but you mentioned it above in your definition of
'different'.

> Although, it seems that it doesn't really help for my use case I will
> play with poetry to get a better understanding of its capabilities.

You're right, poetry doesn't seem to address your main problem.
Nevertheless, it might be useful for developing your program before you
get to the question of how to distribute it

Cheers,

Loris

--
This signature is currently under construction.

Re: How to package a Python command line app?

<mailman.63.1639070308.15287.python-list@python.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16380&group=comp.lang.python#16380

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: die...@handshake.de (Dieter Maurer)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 9 Dec 2021 18:18:26 +0100
Lines: 17
Message-ID: <mailman.63.1639070308.15287.python-list@python.org>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<25010.14946.854543.991758@ixdm.fritz.box>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Trace: news.uni-berlin.de b8hTfjp4NKvfDLWE/04yeQdyW+p91Vi9SATecR1qB0yg==
Return-Path: <dieter@handshake.de>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=none reason="no signature";
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.002
X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; '(e.g.': 0.05; 'library.':
0.05; 'pypi': 0.05; 'cc:addr:python-list': 0.09; 'installer':
0.09; 'subject:Python': 0.12; 'downloaded': 0.13; 'cc:no real
name:2**0': 0.14; 'app,': 0.16; 'confused.': 0.16; 'executed':
0.16; 'subject:app': 0.16; 'subject:package': 0.16; 'python':
0.16; 'cc:addr:python.org': 0.20; 'install': 0.23; 'command':
0.23; 'subject:How': 0.23; 'received:de': 0.23; 'cc:2**0': 0.25;
'packages': 0.31; 'script': 0.33; 'package': 0.34; 'requires':
0.34; 'header:In-Reply-To:1': 0.34; 'file': 0.38; 'could': 0.38;
'put': 0.38; 'single': 0.39; 'wrote': 0.39; 'header:Received:6':
0.67; '(such': 0.84; 'admit': 0.84; 'received:88': 0.84
In-Reply-To: <20211208123136.52690b4f.ml_news@posteo.de>
X-Mailer: VM 8.0.12-devo-585 under 21.4 (patch 24) "Standard C" XEmacs Lucid
(x86_64-linux-gnu)
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.38
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <25010.14946.854543.991758@ixdm.fritz.box>
X-Mailman-Original-References: <20211208123136.52690b4f.ml_news@posteo.de>
 by: Dieter Maurer - Thu, 9 Dec 2021 17:18 UTC

Manfred Lotz wrote at 2021-12-8 12:31 +0100:
>The are many possibilities to package a Python app, and I have to admit
>I am pretty confused.
>
>Here is what I have:
>
>A Python command line app which requires some packages which are not in
>the standard library.

Are they on PyPI or can they be downloaded to PyPI?
In this case, you could install it via `pip` and
a "requirements" file (describing what is necessary).

You could also build an archive (e.g. `tar`, `zip`)
and create small installer script which unpacks and installs as necessary.
You could put the archive at the end of the script (such
that you have a single file which gets executed to do everything).

Re: How to package a Python command line app?

<mailman.64.1639071248.15287.python-list@python.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16381&group=comp.lang.python#16381

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: bar...@barrys-emacs.org (Barry)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 9 Dec 2021 17:34:03 +0000
Lines: 48
Message-ID: <mailman.64.1639071248.15287.python-list@python.org>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
Mime-Version: 1.0 (1.0)
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de USlu3cqIVlxDyZHLe7k5xwU7hqZ0q+vTaDhV260z3vnw==
Return-Path: <barry@barrys-emacs.org>
X-Original-To: Python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=none reason="no signature";
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.000
X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'knows': 0.04; 'gui': 0.05;
'library.': 0.05; 'python.': 0.08; 'cc:addr:python-list': 0.09;
'fedora': 0.09; 'from:addr:barry': 0.09; 'linux': 0.09;
'received:217.70': 0.09; 'received:gandi.net': 0.09;
'received:mail.gandi.net': 0.09; 'ubuntu': 0.09; 'subject:Python':
0.12; 'cc:no real name:2**0': 0.14; 'url:mailman': 0.15; 'app,':
0.16; 'barry': 0.16; 'confused.': 0.16; 'executable': 0.16;
'from:addr:barrys-emacs.org': 0.16; 'message-id:@barrys-
emacs.org': 0.16; 'pyinstaller': 0.16; 'solves': 0.16;
'subject:app': 0.16; 'subject:package': 0.16; 'useful.': 0.16;
'wrote:': 0.16; 'python': 0.16; 'cc:addr:python.org': 0.20;
'install': 0.23; 'command': 0.23; 'subject:How': 0.23; 'url-
ip:188.166.95.178/32': 0.25; 'url-ip:188.166.95/24': 0.25;
'url:listinfo': 0.25; 'cc:2**0': 0.25; 'url-ip:188.166/16': 0.25;
'do?': 0.26; 'zip': 0.26; 'this?': 0.29; 'packages': 0.31; 'dec':
0.31; 'url-ip:188/8': 0.31; 'mean': 0.34; 'package': 0.34;
'requires': 0.34; 'header:In-Reply-To:1': 0.34; 'runs': 0.35;
'files': 0.36; 'using': 0.37; 'file': 0.38; 'single': 0.39; 'use':
0.39; 'apps': 0.62; 'finally': 0.62; 'mode': 0.62; 'here': 0.62;
'your': 0.64; 'tool': 0.65; 'look': 0.65; 'received:217': 0.67;
'collect': 0.69; 'yes': 0.76; 'admit': 0.84; 'concerns.': 0.84;
'experiment': 0.84
In-Reply-To: <20211208123136.52690b4f.ml_news@posteo.de>
X-Mailer: iPad Mail (19B74)
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.38
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
X-Mailman-Original-References: <20211208123136.52690b4f.ml_news@posteo.de>
 by: Barry - Thu, 9 Dec 2021 17:34 UTC

> On 8 Dec 2021, at 18:27, Manfred Lotz <ml_news@posteo.de> wrote:
>
> The are many possibilities to package a Python app, and I have to admit
> I am pretty confused.
>
> Here is what I have:
>
> A Python command line app which requires some packages which are not in
> the standard library.
>
> I am on Linux and like to have an executable (perhaps a zip file with a
> shebang; whatever) which runs on different Linux systems.
>
> Different mean
> - perhaps different glibc versions
> - perhaps different Python versions
>
> In my specific case this is:
> - RedHat 8.4 with Python 3.6.8
> - Ubuntu 20.04 LTS with Python 3.8.10
> - and finally Fedora 33 with Python 3.9.9
>
>
> Is this possible to do? If yes which tool would I use for this?

Have a look at pyinstaller it knows how to collect up all your dependancies and build a folder of files you can distribute. It’s also got a single file mode that you might find useful. The end user does not need to install python.

I am looking at using it to build gui apps a macOs.

You will have to experiment to find out if it solves you glib case concerns.

Barry
>
>
> --
> Manfred
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>

Re: How to package a Python command line app?

<20211209193537.6e9920b1.ml_news@posteo.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16382&group=comp.lang.python#16382

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ml_n...@posteo.de (Manfred Lotz)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 9 Dec 2021 19:35:37 +0100
Lines: 50
Message-ID: <20211209193537.6e9920b1.ml_news@posteo.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Trace: individual.net nQt7mFrhW8xTCMLlySSyMw4wImvxdlfO/Fna/BA5FVYGlqPcP8
X-Orig-Path: ID-313237.user.individual.net!not-for-mail
Cancel-Lock: sha1:4hlieKVtVU4CpA6pYsqqJ3TEcfY=
X-Newsreader: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
 by: Manfred Lotz - Thu, 9 Dec 2021 18:35 UTC

On Thu, 9 Dec 2021 17:34:03 +0000
Barry <barry@barrys-emacs.org> wrote:

> > On 8 Dec 2021, at 18:27, Manfred Lotz <ml_news@posteo.de> wrote:
> >
> > The are many possibilities to package a Python app, and I have to
> > admit I am pretty confused.
> >
> > Here is what I have:
> >
> > A Python command line app which requires some packages which are
> > not in the standard library.
> >
> > I am on Linux and like to have an executable (perhaps a zip file
> > with a shebang; whatever) which runs on different Linux systems.
> >
> > Different mean
> > - perhaps different glibc versions
> > - perhaps different Python versions
> >
> > In my specific case this is:
> > - RedHat 8.4 with Python 3.6.8
> > - Ubuntu 20.04 LTS with Python 3.8.10
> > - and finally Fedora 33 with Python 3.9.9
> >
> >
> > Is this possible to do? If yes which tool would I use for this?
>
> Have a look at pyinstaller it knows how to collect up all your
> dependancies and build a folder of files you can distribute. It’s
> also got a single file mode that you might find useful. The end user
> does not need to install python.
>
> I am looking at using it to build gui apps a macOs.
>
> You will have to experiment to find out if it solves you glib case
> concerns.
>

I played with pyinstaller which worked fine. However, it builds a
dynamic executable and thus it is glibc version dependent. Means, I
have to build different executables for differen glibc versions.

So, it seems I will have to check how executable zip archives are
supposed to work.

--
Manfred

Re: How to package a Python command line app?

<20211209193936.2b7cb2c2.ml_news@posteo.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16383&group=comp.lang.python#16383

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.szaf.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ml_n...@posteo.de (Manfred Lotz)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 9 Dec 2021 19:39:36 +0100
Lines: 59
Message-ID: <20211209193936.2b7cb2c2.ml_news@posteo.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<25010.14946.854543.991758@ixdm.fritz.box>
<mailman.63.1639070308.15287.python-list@python.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Trace: individual.net /KQ3mDytNBCgcwY5Q+9q2g9VkB0LQv2U0IxcLRC8n4Sl00Ypgt
X-Orig-Path: ID-313237.user.individual.net!not-for-mail
Cancel-Lock: sha1:DO4zop9kbzyFwEFyFvHE4XQrKGM=
X-Newsreader: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
 by: Manfred Lotz - Thu, 9 Dec 2021 18:39 UTC

On Thu, 9 Dec 2021 18:18:26 +0100
"Dieter Maurer" <dieter@handshake.de> wrote:

> Manfred Lotz wrote at 2021-12-8 12:31 +0100:
> >The are many possibilities to package a Python app, and I have to
> >admit I am pretty confused.
> >
> >Here is what I have:
> >
> >A Python command line app which requires some packages which are not
> >in the standard library.
>
> Are they on PyPI or can they be downloaded to PyPI?
> In this case, you could install it via `pip` and
> a "requirements" file (describing what is necessary).
>

Acutally, those packages are on pypi.

I created a minimal example where I have two files

hello.py
========

#!/usr/bin/python3

from message import hello
import typer

def main():
hello()

if __name__ == "__main__":
typer.run(main)

message.py
==========

def hello():
print("hello world")

pyinstaller worked fine taking care of message.py and typer module. But
as said in my other reply it is glibc version dependent.

> You could also build an archive (e.g. `tar`, `zip`)
> and create small installer script which unpacks and installs as
> necessary. You could put the archive at the end of the script (such
> that you have a single file which gets executed to do everything).

This I will try next.

--
Manfred

Re: How to package a Python command line app?

<mailman.66.1639081440.15287.python-list@python.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16385&group=comp.lang.python#16385

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: hjp-pyt...@hjp.at (Peter J. Holzer)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 9 Dec 2021 21:23:58 +0100
Lines: 46
Message-ID: <mailman.66.1639081440.15287.python-list@python.org>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
<20211209193537.6e9920b1.ml_news@posteo.de>
<20211209202358.vr4ae244tacuhigk@hjp.at>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="lwlobn5ysytjhph7"
X-Trace: news.uni-berlin.de AInPyf/dkojC69DrjeDWPwYqkc0g04z7kk3ZFjggx7ZQ==
Return-Path: <hjp-python@hjp.at>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=none reason="no signature";
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.000
X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; '(which': 0.04; 'content-
type:multipart/signed': 0.05; 'content-type:application/pgp-
signature': 0.09; 'debian': 0.09; 'filename:fname piece:asc':
0.09; 'filename:fname piece:signature': 0.09;
'filename:fname:signature.asc': 0.09; 'ubuntu': 0.09;
'subject:Python': 0.12; '"creative': 0.16; '__/': 0.16;
'challenge!"': 0.16; 'compiled': 0.16; 'executable': 0.16;
'executables': 0.16; 'from:addr:hjp-python': 0.16;
'from:addr:hjp.at': 0.16; 'from:name:peter j. holzer': 0.16;
'hjp@hjp.at': 0.16; 'holzer': 0.16; 'pyinstaller': 0.16;
'reality.': 0.16; 'stross,': 0.16; 'subject:app': 0.16;
'subject:package': 0.16; 'url-ip:212.17.106.137/32': 0.16; 'url-
ip:212.17.106/24': 0.16; 'url-ip:212.17/16': 0.16; 'url:hjp':
0.16; '|_|_)': 0.16; 'wrote:': 0.16; 'to:addr:python-list': 0.20;
'ran': 0.22; 'version': 0.23; 'subject:How': 0.23; 'run': 0.23;
'matter.': 0.26; 'sense': 0.28; 'version.': 0.28; 'program': 0.31;
"doesn't": 0.32; 'fine.': 0.32; 'but': 0.32; 'header:In-Reply-
To:1': 0.34; 'change': 0.36; 'much.': 0.39; 'skip:o 10': 0.61;
'received:212': 0.62; 'thus': 0.64; 'years': 0.65;
'received:userid': 0.66; 'worked': 0.67; 'url-ip:212/8': 0.69;
'means,': 0.84; 'received:at': 0.84; 'oldest': 0.91
Content-Disposition: inline
In-Reply-To: <20211209193537.6e9920b1.ml_news@posteo.de>
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.38
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <20211209202358.vr4ae244tacuhigk@hjp.at>
X-Mailman-Original-References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
<20211209193537.6e9920b1.ml_news@posteo.de>
 by: Peter J. Holzer - Thu, 9 Dec 2021 20:23 UTC
Attachments: signature.asc (application/pgp-signature)

On 2021-12-09 19:35:37 +0100, Manfred Lotz wrote:
> I played with pyinstaller which worked fine. However, it builds a
> dynamic executable and thus it is glibc version dependent. Means, I
> have to build different executables for differen glibc versions.

Just build it for the oldest version. Even if you don't, it may not
matter. I just compiled a hello world program on Ubuntu 20 and ran it on
Debian 6 (which is 10 years old). Obviusly a real program has more
opportunities to run into compatibility problems, but glibc doesn't
change all that much.

hp

--
_ | Peter J. Holzer | Story must make more sense than reality.
|_|_) | |
| | | hjp@hjp.at | -- Charles Stross, "Creative writing
__/ | http://www.hjp.at/ | challenge!"

Attachments: signature.asc (application/pgp-signature)
Re: How to package a Python command line app?

<mailman.68.1639083070.15287.python-list@python.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16387&group=comp.lang.python#16387

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.szaf.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: mat...@wichmann.us (Mats Wichmann)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Thu, 9 Dec 2021 13:51:00 -0700
Lines: 47
Message-ID: <mailman.68.1639083070.15287.python-list@python.org>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
<20211209193537.6e9920b1.ml_news@posteo.de>
<ab47c868-62bf-6194-7825-9134fb6089b8@wichmann.us>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: news.uni-berlin.de jt14ttUlcSkxzPBBpEC8UwXfmIjOF9psJSKhRcsO3kZw==
Return-Path: <mats@wichmann.us>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="1024-bit key; unprotected key"
header.d=pobox.com header.i=@pobox.com header.b=Pjhl3wg+;
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.007
X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; '3.6': 0.05; 'areas.':
0.07; 'archives': 0.09; 'dependencies': 0.09; 'linux': 0.09;
'python"': 0.09; "shouldn't": 0.09; 'subject:Python': 0.12;
'received:173': 0.13; '(unless': 0.16; 'bits': 0.16; 'compiled':
0.16; 'executable': 0.16; 'executables': 0.16; 'pyinstaller':
0.16; 'snap': 0.16; 'spot': 0.16; 'subject:app': 0.16;
'subject:package': 0.16; 'terribly': 0.16; 'think.': 0.16;
'wrote:': 0.16; 'python': 0.16; "can't": 0.17; 'libraries': 0.19;
'to:addr:python-list': 0.20; 'maybe': 0.22; 'problem,': 0.22;
'version': 0.23; 'code': 0.23; 'command': 0.23; 'subject:How':
0.23; 'run': 0.23; 'seems': 0.26; 'zip': 0.26; 'header:User-
Agent:1': 0.30; 'packages': 0.31; 'think': 0.32; 'question': 0.32;
'fine.': 0.32; 'formats': 0.32; 'said,': 0.32; 'unless': 0.32;
'but': 0.32; "i'm": 0.33; 'there': 0.33; 'package': 0.34;
'requires': 0.34; 'work.': 0.34; 'header:In-Reply-To:1': 0.34;
'trying': 0.35; 'really': 0.37; 'received:192.168': 0.37; 'way':
0.38; 'two': 0.39; 'mentioned': 0.39; 'use': 0.39; 'much.': 0.39;
'still': 0.40; 'base': 0.40; 'match': 0.40; 'something': 0.40;
'should': 0.40; 'skip:b 20': 0.63; 'providing': 0.63; 'range':
0.64; 'thus': 0.64; 'your': 0.64; 'worked': 0.67; 'back': 0.67;
'nearly': 0.67; 'within': 0.69; 'reaching': 0.71; 'longer': 0.71;
'little': 0.73; 'yourself': 0.75; 'supposed': 0.76; 'means,':
0.84; 'wheels': 0.84; 'stable': 0.93
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=message-id
:date:mime-version:subject:to:references:from:in-reply-to
:content-type:content-transfer-encoding; s=sasl; bh=abXt8Hxjen/0
pyU1CA2cOj3iHRg+oOUkexcKN55OKK4=; b=Pjhl3wg+502u29G/qfvHrRSuZfdI
EsZf/e4PeTsGeUse74jkYA8p0WmYIlh6PSzT4gd3dxZL1DBaxlZR34pjvl02tkom
aCZR1GMa5q00eWWbbe8wdlJLx5pcLnlgX9uXFDrC7TRSnPPaa7wbWX4cJmikSsQJ
Du1PMuK3nteAoKg=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=wichmann.us;
h=message-id:date:mime-version:subject:to:references:from:in-reply-to:content-type:content-transfer-encoding;
s=2018-07.pbsmtp; bh=abXt8Hxjen/0pyU1CA2cOj3iHRg+oOUkexcKN55OKK4=;
b=XrO3GHyu3cgGvKSDsIVEsnyswCdiHTCzUp10MCxADSvx/juHW0t+vQUVgKD/QJcI6gHpNuVIrKQu3NWN7j0RrQkor25E/jS0IP50FWsR/y6yJ28O/Y5qVWVUuOeWQPjxXn/6o586lfCtPRF1H8GCEJlAo5nDsJocAoGsrmmsSvM=
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.3.0
Content-Language: en-US
In-Reply-To: <20211209193537.6e9920b1.ml_news@posteo.de>
X-Pobox-Relay-ID: B83C3080-5931-11EC-9883-F327CE9DA9D6-81526775!pb-smtp20.pobox.com
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.38
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <ab47c868-62bf-6194-7825-9134fb6089b8@wichmann.us>
X-Mailman-Original-References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
<20211209193537.6e9920b1.ml_news@posteo.de>
 by: Mats Wichmann - Thu, 9 Dec 2021 20:51 UTC

On 12/9/21 11:35, Manfred Lotz wrote:

> I played with pyinstaller which worked fine. However, it builds a
> dynamic executable and thus it is glibc version dependent. Means, I
> have to build different executables for differen glibc versions.
>
> So, it seems I will have to check how executable zip archives are
> supposed to work.
>

For me at least, I'm still not sure what you are trying to accomplish.

"A Python command line app which requires some packages which are not in
the standard library."

If your code and its dependencies are "pure python" then you only need
to build a wheel package and you should be good to go. If you think you
have Python version issues, most of the good checkers will take a
version argument, so if you think you need to be compatible with
3.6-3.10 you give it a version of 3.6 to check against, and it should
spot things that don't work all the way back to that base version, and
then you can find ways to code around it.

If the things you call on are binary, it gets a little more complicated.
Wheels that contain compiled bits need to match the version of Python
that's going to run them (unless they use the stable ABI, but that's not
terribly common yet).

You shouldn't run into glibc versioning problems. Most of glibc has
been extraordinarily stable for nearly two decades, and within the range
of distributions you've mentioned there should not be problems unless
something is reaching into very esoteric areas. Other system libraries
- maybe not so much. If you really think you're going to have this
level of binary-compatibility problem, the flavor-of-the-month technique
is to build a self-contained bundle, such as a Snap or Flatpak, or...

Quote:

> New packaging formats like Snap, Flatpak and AppImage are providing
distribution agnostic packages that work on most Linux distributions.

But that's no longer a Python-specific question at that point...

As I said, I can't really deduce the details of what you're trying to
accomplish, just hoping you don't buy yourself more trouble than you
actually need to - this might be easier than you think.

Re: How to package a Python command line app?

<20211210123224.6a4e71dd.ml_news@posteo.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16388&group=comp.lang.python#16388

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ml_n...@posteo.de (Manfred Lotz)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Fri, 10 Dec 2021 12:32:24 +0100
Lines: 33
Message-ID: <20211210123224.6a4e71dd.ml_news@posteo.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
<20211209193537.6e9920b1.ml_news@posteo.de>
<20211209202358.vr4ae244tacuhigk@hjp.at>
<mailman.66.1639081440.15287.python-list@python.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Trace: individual.net +x9oABeUPLOd02oiJ+f86Q0dd8u/igwuNz7B0arGjdaD+6XIJ9
X-Orig-Path: ID-313237.user.individual.net!not-for-mail
Cancel-Lock: sha1:IIJMBJln3+1o3+Qkj8pM/OoA8pU=
X-Newsreader: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
 by: Manfred Lotz - Fri, 10 Dec 2021 11:32 UTC

On Thu, 9 Dec 2021 21:23:58 +0100
"Peter J. Holzer" <hjp-python@hjp.at> wrote:

> On 2021-12-09 19:35:37 +0100, Manfred Lotz wrote:
> > I played with pyinstaller which worked fine. However, it builds a
> > dynamic executable and thus it is glibc version dependent. Means, I
> > have to build different executables for differen glibc versions.
>
> Just build it for the oldest version.

Wasn't aware of that.

> Even if you don't, it may not
> matter. I just compiled a hello world program on Ubuntu 20 and ran it
> on Debian 6 (which is 10 years old). Obviusly a real program has more
> opportunities to run into compatibility problems, but glibc doesn't
> change all that much.
>
> hp
>

I have build an executable with pyinstaller on Ubuntu 20.04 and it
didn't run on Redhat 8.4.

Doing it the other way round helps indeed, i.e. building on Redhat 8.4
and then it runs on Ubuntu 20.04.

Thank you.

--
Manfred

Re: How to package a Python command line app?

<20211210153714.46de7174.ml_news@posteo.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16389&group=comp.lang.python#16389

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ml_n...@posteo.de (Manfred Lotz)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Fri, 10 Dec 2021 15:37:14 +0100
Lines: 29
Message-ID: <20211210153714.46de7174.ml_news@posteo.de>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<4E247BF6-1D23-414E-BCA2-63C1112D0004@barrys-emacs.org>
<mailman.64.1639071248.15287.python-list@python.org>
<20211209193537.6e9920b1.ml_news@posteo.de>
<ab47c868-62bf-6194-7825-9134fb6089b8@wichmann.us>
<mailman.68.1639083070.15287.python-list@python.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Trace: individual.net 3efhlp1fodjiF8cPhv1FjQpDS/ZHsc3aaChPhMoFO+fn4qU9bw
X-Orig-Path: ID-313237.user.individual.net!not-for-mail
Cancel-Lock: sha1:4L2F+FZs4uH/MP+sIoFkDyvJzYk=
X-Newsreader: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
 by: Manfred Lotz - Fri, 10 Dec 2021 14:37 UTC

On Thu, 9 Dec 2021 13:51:00 -0700
Mats Wichmann <mats@wichmann.us> wrote:

> On 12/9/21 11:35, Manfred Lotz wrote:
>
> > I played with pyinstaller which worked fine. However, it builds a
> > dynamic executable and thus it is glibc version dependent. Means, I
> > have to build different executables for differen glibc versions.
> >
> > So, it seems I will have to check how executable zip archives are
> > supposed to work.
> >
>
> For me at least, I'm still not sure what you are trying to accomplish.
>

I like to offer my command line app to some people who are not really
command line geeks. Means, I don't want to have to tell them to install
packages via pip and stuff like that. Simply take a file, make it
executable and run it.

--
Manfred

Re: How to package a Python command line app?

<mailman.69.1639160406.15287.python-list@python.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=16390&group=comp.lang.python#16390

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: as...@sci.fi (Anssi Saari)
Newsgroups: comp.lang.python
Subject: Re: How to package a Python command line app?
Date: Fri, 10 Dec 2021 19:38:34 +0200
Organization: An impatient and LOUD arachnid
Lines: 11
Message-ID: <mailman.69.1639160406.15287.python-list@python.org>
References: <20211208123136.52690b4f.ml_news@posteo.de>
<25010.14946.854543.991758@ixdm.fritz.box>
<mailman.63.1639070308.15287.python-list@python.org>
<20211209193936.2b7cb2c2.ml_news@posteo.de>
<sm0wnkc1ht1.fsf@lakka.kapsi.fi>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: news.uni-berlin.de 55jMUVrUuVGwmWyaemCgqAbObkq/uJ2fyF8Uhnw24HUQ==
Return-Path: <zz@lakka.kapsi.fi>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=none reason="no signature";
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.016
X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'generated': 0.03;
'module.': 0.09; 'though.': 0.09; 'writes:': 0.09;
'subject:Python': 0.12; 'cpython': 0.16; 'executable': 0.16;
'pyinstaller': 0.16; 'subject:app': 0.16; 'subject:package': 0.16;
'to:addr:python-list': 0.20; 'version': 0.23; 'subject:How': 0.23;
'seems': 0.26; 'tried': 0.26; 'header:User-Agent:1': 0.30;
'default': 0.31; 'header:Organization:1': 0.31; 'but': 0.32;
'script': 0.33; "didn't": 0.34; 'header:In-Reply-To:1': 0.34;
'fine': 0.35; 'source': 0.36; "it's": 0.37; 'considering': 0.39;
'edit': 0.39; 'try': 0.40; 'included': 0.61; 'received:91': 0.62;
'your': 0.64; 'worked': 0.67; 'care': 0.71; 'reply': 0.77
In-Reply-To: <20211209193936.2b7cb2c2.ml_news@posteo.de> (Manfred Lotz's
message of "Thu, 9 Dec 2021 19:39:36 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
X-Rspam-Score: -0.8 (/)
X-Rspam-Report: Action: no action Symbol: SUBJECT_ENDS_QUESTION(1.00)
Symbol: ARC_NA(0.00) Symbol: FROM_HAS_DN(0.00)
Symbol: FREEMAIL_FROM(0.00) Symbol: TO_MATCH_ENVRCPT_ALL(0.00)
Symbol: MIME_GOOD(-0.10) Symbol: TO_DN_NONE(0.00)
Symbol: DMARC_NA(0.00) Symbol: AUTH_NA(1.00)
Symbol: RCPT_COUNT_ONE(0.00) Symbol: HAS_ORG_HEADER(0.00)
Symbol: RCVD_TLS_LAST(0.00) Symbol: R_SPF_NA(0.00)
Symbol: FORGED_SENDER(0.30) Symbol: R_DKIM_NA(0.00)
Symbol: MIME_TRACE(0.00) Symbol: ASN(0.00)
Symbol: FROM_NEQ_ENVFROM(0.00) Symbol: BAYES_HAM(-2.99)
Symbol: RCVD_COUNT_TWO(0.00)
Message-ID: sm0wnkc1ht1.fsf@lakka.kapsi.fi
X-SA-Exim-Connect-IP: 2001:67c:1be8::11
X-SA-Exim-Mail-From: zz@lakka.kapsi.fi
X-SA-Exim-Scanned: No (on mail.kapsi.fi); SAEximRunCond expanded to false
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.38
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <sm0wnkc1ht1.fsf@lakka.kapsi.fi>
X-Mailman-Original-References: <20211208123136.52690b4f.ml_news@posteo.de>
<25010.14946.854543.991758@ixdm.fritz.box>
<mailman.63.1639070308.15287.python-list@python.org>
<20211209193936.2b7cb2c2.ml_news@posteo.de>
 by: Anssi Saari - Fri, 10 Dec 2021 17:38 UTC

Manfred Lotz <ml_news@posteo.de> writes:

> pyinstaller worked fine taking care of message.py and typer module. But
> as said in my other reply it is glibc version dependent.

Perhaps the included freeze.py script (included in the CPython source
that is, in Tools/freeze) is worth considering as well. Although it also
seems to create a dynamic executable by default (I tried with your hello
example), it seems to me it's possible to edit the generated makefile
and replace -shared with -static in a few places. Didn't try that
though.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor