3

Problem

I use pyenv. I have a virtual environment activated in my working directory (with Python version 3.10.0).

Following the tutorial here, after doing the command

python setup.py py2app -A

and trying to run my application for the first time (from the folder dist), this error occurs:

A Python runtime not could be located. You may need to install a framework build of Python, or edit the PyRuntimeLocations array in this application's Info.plist file.

--

Note

The file dist/myapp.app/Contents/Info.plist has the following lines:

<key>PyRuntimeLocations</key>
<array>
    <string>@executable_path/../Frameworks/libpython3.10.dylib</string>
    <string>/Users/Vladimir/.pyenv/versions/3.10.0/lib/libpython3.10.dylib</string>

However, this file /Users/Vladimir/.pyenv/versions/3.10.0/lib/libpython3.10.dylib does not even exist:

here is the result of ls /Users/Vladimir/.pyenv/versions/3.10.0/lib/:

libpython3.10.a    pkgconfig    python3.10

Attempted solution

After seeing this answer, I tried to install Python from python.org, then

pip3 install py2app, ... and other packages for my app,

and then did the same procedure from the tutorial, but this time with python3.

It worked.


Question

Is there a way to make py2app work with pyenv?

It's not convenient to have a separate Python installation from python.org where you would have to re-download all your packages for your project, and also give up the possibility of having different environments for different Python projects.

Vladimir Fokow
  • 3,728
  • 2
  • 5
  • 27
  • Note: there may be [better packaging tools](https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer_comparisons.html) than py2app, e.g. PyInstaller, PyOxidizer – Vladimir Fokow Dec 30 '22 at 14:56

0 Answers0