Библиотека не загружена: QtCore.framework/Версии /4/QtCore

56
2

Я пытался сделать GUI-программирование в Python. Я понял, что PySide - хорошая структура для начала. Поскольку я запускал Python 2.7.2, я загрузил PySide 2.7 и попытался запустить образец приложения. У меня получилась ошибка загрузки QtCore Library.

Это ошибка, которую я получил.

from PySide import QtCore, QtGui
ImportError: dlopen(/Library/Python/2.7/site-packages/PySide/QtCore.so, 2):
Library not loaded: QtCore.framework/Versions/4/QtCore
Referenced from: /Library/Python/2.7/site-packages/PySide/QtCore.so
Reason: image not found

Я googled и узнал, что многие люди столкнулись с одной проблемой, и я видел, что решения были опубликованы на основе экспорта DYLD_FRAMEWORK_PATH. Я не смог следовать этому. Может кто-нибудь, пожалуйста, скажите мне, в чем проблема и как это исправить! Благодаря..

спросил(а) 2013-07-18T07:03:00+04:00 7 лет, 2 месяца назад
1
Решение
97

Установили ли вы автономный QT-пакет для Mac? Qt для Mac OS X: Скачать Qt 4.7.4 ftp://ftp.qt-project.org/qt/source/qt-mac-opensource-4.7.4.dmg автономная установка pyside повышает для меня тот же журнал ошибок

ответил(а) 2013-10-05T00:13:00+04:00 6 лет, 11 месяцев назад
40

Вы не упоминаете ОС, над которыми работаете, но из путей в сообщении об ошибке похоже, что вы находитесь на Mac OSX.

Я вообще не эксперт в PySide, но у меня была такая же проблема, и я думаю, что знаю, что происходит: библиотека в /Library/Python/2.7/site-packages/PySide/QtCore.so - это которая делает библиотеку Qt Core C++ доступной для Python. Это всего лишь оболочка или какой-то переводчик между C++ и Python, фактическая функциональность C++ находится в другом месте - и когда интерпретатор Python пытается загрузить библиотеку C++, которая содержит эту функциональность из QtCore.framework/Versions/4/QtCore, если не удается найти его, следовательно, сообщение об ошибке.

Быстрый и грязный способ решить вашу проблему - создать символические ссылки из того места, где QtCore.so ожидает, что библиотека C++ будет там, где она есть на самом деле. Для этого вам, очевидно, придется найти библиотеку C++. Если вы загрузили Qt 4.8.4 в качестве установщика с страницы проекта Qt, библиотеки AFAIK находятся где-то в /usr/lib, поэтому вы создадите символическую ссылку следующим образом:

ln -vis /usr/lib/<insert subfolder>/QtCore.framework /Library/Python/2.7/site-packages/PySide/QtCore.framework

Вам придется сделать это аналогичным образом для QtGui и любой другой библиотеки Qt, которую вы хотите использовать. Обратите внимание, что это, очевидно, не символизирует сама библиотека, а папку, в которой ожидает QtCore.so.

Альтернативным способом было бы создать PySide из источников (это то, что я закончил делать), но это занимает больше времени - и вы говорите так, как будто хотите просто пойти с Python и Qt.

ответил(а) 2013-07-18T21:44:00+04:00 7 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема