Search code examples
pythonpython-importimporterror

Import issue for setproctitle on Mac OS,


In python, If I try to import setproctitle I get the following import error:

 ImportError: dlopen(/Users/xxx/.local/share/virtualenvs/airflow_gg-F_Vv1Po_/lib/python3.7/site-packages/setproctitle.cpython-37m-darwin.so, 2): Symbol not found: _Py_GetArgcArgv
      Referenced from: /Users/xxx/.local/share/virtualenvs/airflow_gg-F_Vv1Po_/lib/python3.7/site-packages/setproctitle.cpython-37m-darwin.so
      Expected in: flat namespace
 in /Users/xxx/.local/share/virtualenvs/airflow_gg-F_Vv1Po_/lib/python3.7/site-packages/setproctitle.cpython-37m-darwin.so

What I have tried so far:

  • Try to reinstall it (with different flags such as --upgrade and --no-cache)
  • Try to use both venv and Pipenv

Info on my system: System version: macOS 10.15.2 (19C57), Kernel version: Darwin 19.2.0

I did not manage to find any information online for this specific import error. Any ideas?

--- Edit

I installed python 3.8 from the official website and, indeed, it works (with that interpreter as base for venv). I previously had python 3.7 installed with brew (brew install python3). I do not know why it did not work.


Solution

  • Works fine for Python 3.8 installed directly from Python page.

    > python3.8 -m pip install virtualenv
    > python3.8 -m virtualenv -p \
    /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 proctest
    > source proctest/bin/activate
    > python3.8 -m pip install setproctitle
    > python3.8
    ...
    ...
    >>> import setproctitle
    >>>