RSS/Atom feed Twitter
Site is read-only, email is disabled

How to set the python path for GIMP plug-ins when bundling into an AppImage

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

Carmelo DrRaw
2017-05-21 18:44:28 UTC (over 7 years ago)

How to set the python path for GIMP plug-ins when bundling into an AppImage

Hi!

I am facing a problem when trying to build a GIMP AppImage that bundles python to allow running the python-based plug-ins.

As far as I understand, GIMP takes the python executable specified in

PREFIX/lib/gimp/2.0/interpreters/pygimp.interp

where the executable path has to be specified with an absolute way (otherwise GIMP throws an error “Bad binary format string in interpreter file …”).

However, in the AppImage case the absolute path into which the package is extracted is random, and is only known after the AppImage has ben actually started. Moreover, configuration files inside the AppImage bundle cannot be modified because they are read-only.

Hence my question: is there a way to dynamically specify the path to the python interpreter? In such situations one would typically use environment variables, but there seems to be no way in this case…

Thanks a lot in advance!

Partha Bagchi
2017-05-21 19:56:25 UTC (over 7 years ago)

How to set the python path for GIMP plug-ins when bundling into an AppImage

On Sun, May 21, 2017 at 2:44 PM, Carmelo DrRaw wrote:

Hi!

I am facing a problem when trying to build a GIMP AppImage that bundles python to allow running the python-based plug-ins.

As far as I understand, GIMP takes the python executable specified in

PREFIX/lib/gimp/2.0/interpreters/pygimp.interp

where the executable path has to be specified with an absolute way (otherwise GIMP throws an error “Bad binary format string in interpreter file …”).

However, in the AppImage case the absolute path into which the package is extracted is random, and is only known after the AppImage has ben actually started. Moreover, configuration files inside the AppImage bundle cannot be modified because they are read-only.

Hence my question: is there a way to dynamically specify the path to the python interpreter? In such situations one would typically use environment variables, but there seems to be no way in this case…

Thanks a lot in advance!

A,

Not wanting to starting some Linux "wars" :), I think of AppImage as Linux's acknowledgement to Mac OSX Apps.

So in that vein, include a launcher in your AppImage which mounts your support libs is a specific location (possibly /tmp) and then point the python interpreter to something like /tmp/python/python or something similar.

Maybe that will work?

Carmelo DrRaw
2017-05-21 20:18:25 UTC (over 7 years ago)

How to set the python path for GIMP plug-ins when bundling into an AppImage

On 21 May 2017, at 21:56, Partha Bagchi wrote:

On Sun, May 21, 2017 at 2:44 PM, Carmelo DrRaw > wrote: Hi!

I am facing a problem when trying to build a GIMP AppImage that bundles python to allow running the python-based plug-ins.

As far as I understand, GIMP takes the python executable specified in

PREFIX/lib/gimp/2.0/interpreters/pygimp.interp

where the executable path has to be specified with an absolute way (otherwise GIMP throws an error “Bad binary format string in interpreter file …”).

However, in the AppImage case the absolute path into which the package is extracted is random, and is only known after the AppImage has ben actually started. Moreover, configuration files inside the AppImage bundle cannot be modified because they are read-only.

Hence my question: is there a way to dynamically specify the path to the python interpreter? In such situations one would typically use environment variables, but there seems to be no way in this case…

Thanks a lot in advance!

A,

Not wanting to starting some Linux "wars" :), I think of AppImage as Linux's acknowledgement to Mac OSX Apps.

Kind of yes, and kind of “why not?" ;-)

So in that vein, include a launcher in your AppImage which mounts your support libs is a specific location (possibly /tmp) and then point the python interpreter to something like /tmp/python/python or something similar.

This is what is already done by the AppImage, except that the mound directory is generated with a temporary name, different each time. This is not something under my control, and what is causing trouble in this specific case...

Maybe that will work?

Partha Bagchi
2017-05-21 21:40:57 UTC (over 7 years ago)

How to set the python path for GIMP plug-ins when bundling into an AppImage

On Sun, May 21, 2017 at 4:18 PM, Carmelo DrRaw wrote:

This is what is already done by the AppImage, except that the mound directory is generated with a temporary name, different each time. This is not something under my control, and what is causing trouble in this specific case...

Why? You can select a name that would be highly unlikely to exist in /tmp and just reuse that?