Как мне настроить локальный каталог библиотеки Python / PYTHONPATH?

В процессе попытки написать сценарий 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.

Но на самом деле не знаю, что это такое.

И еще я заметил сообщение «Яйца не найдены». Есть ли какие-либо из этих подсказок?

6
задан martineau 9 December 2010 в 02:08
поделиться