Reputation: 167
I am trying to create an executable for my Python application using PyInstaller. There are no errors when creating the executable, but when I subsequently try to run it, the following error occurs:
[6439] Error loading Python lib '~/PycharmProjects/CetPar/ceteris_paribus/control/build/controller/libpython3.5m.so.1.0': dlopen: ~/PycharmProjects/CetPar/ceteris_paribus/control/build/controller/libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
I have already tried exporting multiple versions of the LD_LIBRARY_PATH
variable, but this does not seem to have any effect. Trying to find the shared object by running the locate libpython3.5m.so.1.0
command results in /usr/lib/x86_64-linux-gnu/libpython3.5m.so.1.0
, but adding /usr/lib/
to the LD_LIBRARY_PATH
path does not work. I suspect this has something to do with the installation location of my python interpreters, but I have been unable to find anything. Furthermore, I noticed that PyInstaller also creates a /dist/
directory, and the shared object file can be found here.
I am running elementary OS 0.4.1 Loki
Does anyone have any suggestions about things I can still try?
Upvotes: 8
Views: 6998
Reputation: 19
When using pyinstaller make sure to use the flag -F to make it a standalone executable
pyinstaller -F main.py
Then, after the build is complete, you'll find your standalone executable inside the dist directory(not the build directory)
Upvotes: 1
Reputation: 2319
There should be two folders dist
and build
in project folder after running pyinstaller. Copy dist/controller
content into build/controller
directory:
cp -r ./dist/controller/* build/controller
Upvotes: 10