Python: libpython3.5.dylib не найден?

Я хотел бы сделать исполняемый файл Mac для моего кода Python, но всегда получал это сообщение об ошибке:

OSError: библиотека Python не найдена: .Python, libpython3.5.dylib, Python

И PyInstaller, и py2app вернули одну и ту же ошибку. Что мне делать, чтобы решить эту проблему?


person mawgumelar    schedule 15.02.2017    source источник
comment
Я работаю над решением аналогичной проблемы, но похоже, что Anaconda устанавливает libpython3.6m.dylib (обратите внимание на «m»), который является просто вариантом сборки при компиляции Python. Я попытался просто создать символическую ссылку, чтобы преодолеть это, но мой проект все еще не удалось построить, поэтому я предполагаю, что это причина. Не знаю, куда идти дальше.   -  person jamzsabb    schedule 12.04.2017
comment
@jamzsabb Вы правы. «М» имеет значение, и теперь мой проект работает нормально.   -  person mawgumelar    schedule 27.04.2017
comment
Рад, что это сработало для вас, я отказался от попыток построить то, что строил. Вы скачали другой пакет или просто символическую ссылку, как я пробовал?   -  person jamzsabb    schedule 28.04.2017
comment
@jamzsabb Нет, других пакетов я не скачивал. Я просто создал исполняемый файл с помощью PyInstaller, py2app или cxfreeze, а затем изменил его Info.plist, изменив libpython3.5.dylib на libpython3.5m.dylib.   -  person mawgumelar    schedule 29.04.2017
comment
это py2app, который не может построить, когда я получаю эту ошибку, на самом деле, ха-ха. К счастью, это не было чем-то важным, я просто пытался собрать Spyder, хотя моя текущая работа в основном использует R.   -  person jamzsabb    schedule 30.04.2017
comment
Привет! Я столкнулся с той же проблемой, что и вы, и с той же проблемой, о которой упоминал @jamzsabb. Где именно находился измененный вами файл info.plist? А что именно внутри доработали?   -  person Aditya Shukla    schedule 30.04.2021


Ответы (1)


Для Mac попробуйте перестроить python в сгенерированную общую библиотеку, используя:

env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.5.x

как сказано в официальном документе pyenv

в котором 3.5.x - это версия Python, которую вы используете

Для меня здесь после переустановки python:

env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.8.0

дилиб, расположенный в

~/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/lib/libpython3.8.dylib

которая является мягкой ссылкой на файл размером 3,4 МБ:

~/.pyenv/versions/3.8.0/Python.framework/Versions/3.8/Python

person crifan    schedule 06.01.2020