On 17 Oct, 2012, at 16:12, Emanuele Santos <[email protected]> wrote:
> Hi, all
>
> We build a bundle with py2app and we would like to make it extensible so
> users could install on demand other python packages into the python framework
> included in the bundle, for example by running easy_install.
>
> Is there a recommended way of doing that? I noticed that the site.py file
> included in the bundle is not complete so when I tried using the --user
> command line option or setting the $PYTHONHOME, I got an error.
I wouldn't change the application bundle itself, but would add an option to
load python code from a user specified location. There are two reasons for not
changing the application bundle itself: that would invalidate code signatures,
and users cannot necessarily write into the bundle (I tend to install
applications using a separate account with more privileges than my normal
account).
One way to do this is adding something like this to your application's startup
code:
import os
import site
site.addsitedir(os.path.expanduser("~/Library/Application
Support/MyApp/Python"))
Users can then install additional modules in "~/Library/Application
Support/MyApp/Python" and your application can then use them.
If you're using a semi-standalone build (for example because you use Apple's
python build) you can also use the "--site-packages" option to add the default
site-packages directory to your application's search path. However, when I look
at the code that not only just works for semi-standalone builds, but I'm also
also not sure if the code that adds ~/Library/Python/... to sys.path actually
works.
Ronald
>
> Thanks,
>
> -- Emanuele.
>
> _______________________________________________
> Pythonmac-SIG maillist - [email protected]
> http://mail.python.org/mailman/listinfo/pythonmac-sig
> unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG
_______________________________________________
Pythonmac-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG