OSError: Python library not found: libpython3.9mu.so.1.0, libpython3.9m.so, etc., when running pyinstaller

Question:

I am trying to create an executable from a python script, using pyinstaller, and am getting the error seen in the subject line. The particulars:

  • python – version 3.9.2
  • pyinstaller – version 4
  • I am running on Debian Linux

I evoke pyinstaller as:

pyinstaller --onefile pythonfile.py

When I looked to see what libpython*.so files were resident, I see libpython3.7*.so, and the error shows I need to install libpython3.9*so files.

I have tried:

 pip3 install PyInstaller (to load on pyinstaller)
 apt-get install python3-dev (as recommended in the pyinstaller error msg)
 apt-get install python-dev (as recommended in the pyinstaller error msg)
 apt-get upgrade
 apt-get update

but still get the error. How can I get the correct libpython*.so files loaded (i.e., 3.9)? TIA.

Asked By: user3063547

||

Answers:

You need to generate the shared lib using:

env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.9.2

I’m not sure whether 3.9.2 is working if not try 3.9.0

Official Document Here.

Answered By: Zichzheng

Or try this:
sudo apt-get install libpython3.7-dev
it worked for me

Answered By: AnhTuan
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.