Я установил ActivePython 2.7 на Mac OS X 10.5. Основной причиной этого является использование pypm, менеджера пакетов. Однако, после установки ActivePython и настройки моего файла .bash_profile для использования этой версии Python, я столкнулся с множеством проблем с библиотеками, установленными pypm. Для того, чтобы установить все эти модули, просто введитеИзображение не найдено ошибки при импорте QtGui из PyQt4
pypm install <package-name>
и это, как я получил Matplotlib, PyQt4, PIL и т.д. Проблема заключается в том, что все они, по всей видимости установить без проблем, они ставят правильные. pth и .so в правильную папку с пакетами сайтов, а основные импортные операции работают нормально. Но я получаю следующие ошибки.
Во-первых, вот что я вижу, когда проверка на Python на моей машине:
new-host:site-packages ely$ which python
/usr/local/bin/python
new-host:site-packages ely$ ls -l /usr/local/bin/python
lrwxr-xr-x 1 root wheel 60 May 25 22:15 /usr/local/bin/python -> /Library/Frameworks/Python.framework/Versions/2.7/bin/python
Далее я призываю Python и попытаться импортировать вещи.
new-host:site-packages ely$ python
ActivePython 2.7.1.4 (ActiveState Software Inc.) based on
Python 2.7.1 (r271:86832, Feb 7 2011, 11:33:10)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
>>> from PyQt4 import QtGui
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(PyQt4/QtGui.so, 2): Library not loaded: QtGui.framework/Versions/4/QtGui
Referenced from: /Users/ely/Library/Python/2.7/lib/python/site-packages/PyQt4/QtGui.so
Reason: image not found
Так что выше показывает, что импорт PyQt4 без каких-либо жалоб, но тогда я получаю «изображение не найден» ошибка при попытке использовать любой из суб-модулей. Для другого примера здесь приведен стандартный matplotlib.
>>> import matplotlib
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "matplotlib/pyplot.py", line 23, in <module>
from matplotlib.figure import Figure, figaspect
File "matplotlib/figure.py", line 16, in <module>
import artist
File "matplotlib/artist.py", line 6, in <module>
from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath
File "matplotlib/transforms.py", line 34, in <module>
from matplotlib._path import affine_transform
ImportError: dlopen(matplotlib/_path.so, 2): Symbol not found: __ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
Referenced from: /Users/ely/Library/Python/2.7/lib/python/site-packages/matplotlib/_path.so
Expected in: dynamic lookup
>>> from matplotlib import pyplot
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "matplotlib/pyplot.py", line 23, in <module>
from matplotlib.figure import Figure, figaspect
File "matplotlib/figure.py", line 16, in <module>
import artist
File "matplotlib/artist.py", line 6, in <module>
from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath
File "matplotlib/transforms.py", line 34, in <module>
from matplotlib._path import affine_transform
ImportError: dlopen(matplotlib/_path.so, 2): Symbol not found: __ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
Referenced from: /Users/ely/Library/Python/2.7/lib/python/site-packages/matplotlib/_path.so
Expected in: dynamic lookup
Любые мысли о том, почему версии с установленным pypm настолько проблематичны? Я использовал ActivePython и pypm на рабочем компьютере Ubuntu в течение длительного времени и никогда не сталкивался с этими проблемами. Все, что я когда-либо устанавливал с помощью pypm, прекрасно работало. Почему на Mac это так отличается?