В процессе попытки написать сценарий Python, который сегодня использует PIL, я обнаружил, что у меня его нет на моем локальном компьютере (OS X 10.5.8, по умолчанию 2.5 Установка Python).
Итак, я запускаю:
easy_install --prefix=/usr/local/python/ pil
, и он немного жалуется на / usr / local / python / lib / python2. /usr/local/python//lib/python2.5/site-packages НЕ поддерживает файлы .pth ошибка: плохо каталог установки или PYTHONPATH
Вы пытаетесь установить пакет в каталог, который не включен PYTHONPATH и какой Python не поддерживает читать файлы ".pth" из. В каталог установки, который вы указали (через --install-dir, --prefix или настройка distutils по умолчанию) была:
/usr/local/python//lib/python2.5/site-packages
и ваша среда PYTHONPATH переменная в настоящее время содержит:
''
Хорошо, честно - я ничего не сделал, чтобы указать путь. Поэтому я добавляю быструю строку в ~ / .bash_profile:
PYTHONPATH = "$ PYTHONPATH: /usr/local/python/lib/python2.5"
и исходный текст
его и повторите попытку. .
То же сообщение об ошибке.
Это довольно любопытно, учитывая, что PYTHONPATH явно установлен; Я могу повторить $ PYTHONPATH
и вернуться : / usr / local / python / lib / python2.5
. Я решил проверить, как выглядит путь включения изнутри:
import sys
print "\n".join(sys.path)
, что дает:
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5 /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload /Library/Python/2.5/site-packages /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/PyObjC
, из которого / usr / local / python / yadda / yadda
заметно отсутствует.
Не уверен, что мне здесь делать. Как мне заставить python распознавать это местоположение как включаемый путь?
ОБНОВЛЕНИЕ
Как предположил Свен Марнах, я пренебрегал экспортом PYTHONPATH. Я исправил эту проблему и теперь вижу, как она появляется, когда я распечатываю sys.path
из Python. Однако я все еще получал сообщение об ошибке TEST FAILED
, о котором я упоминал выше, только с моей новой переменной среды PYTHONPATH.
Итак, я попытался изменить ее из / usr / local / python / lib / python2.5
в /usr/local/python/lib/python2.5/site-packages
, экспортируя и снова выполняя ту же команду easy_install
.
Файл "checkerboard.py", строка 1, в
import Image, ImageDraw ImportError: Нет модуля с именем Image
Когда я проверяю, что сейчас находится под / usr / local / python /
, используя find.
, я получаю:
./ библиотека ./lib/python2.5 ./lib/python2.5/site-packages ./lib/python2.5/site-packages/site.py ./lib/python2.5/site-packages/site.pyc
Итак ... ничего похожего на модуль (я предполагаю, что site.py и site.pyc являются метаданными или вспомогательными скриптами). Куда делалась установка?
Замечу следующее:
Чтобы проверить сборку, запустите Сценарий selftest.py.
Но на самом деле не знаю, что это такое.
И еще я заметил сообщение «Яйца не найдены». Есть ли какие-либо из этих подсказок?