Использование библиотеки изображений Python с VirtualEnv в Windows
Я пытаюсь установить библиотеку PIL в виртуальном окружении, которое я создал.
Обычно для установки PIL я бы взял установку, но это не позволит мне выбрать мою виртуальную виртуальную папку только в моей корневой папке Python (C:/Python26).
Я попробовал как установить PIL PIL, так и easy_install PIP, но они не сработали. Я также попытался загрузить TAR, извлечение и запуск setup.py install
Django по-прежнему отклоняет мою модель, содержащую ImageField(). У кого-нибудь есть решение?
Ошибка, которая обычно возникает, ниже:
Unable to find vcvarsall.bat
Edit:
OK Я попробовал новый virtualenv и использовал easy_install, который не показывает ошибку компиляции.
Затем я открываю оболочку Python, и это разрешает мне import PIL
и import _imaging
, однако, когда я пытаюсь использовать ImageField()
в django, мои модели все равно не будут проверять.
Ответы
Ответ 1
OK это проблема VirtualEnv.
Несмотря на создание нового VirtualEnv с аргументом -no-site-packages, мой сайт Django извлекает файлы django из корневой установки C:/Python26/Lib/site-packages/
, а не локально.
Затем Django пытается извлечь PIL в корневой каталог site-packages
, который он не может найти, и приводит к ошибке.
Я понятия не имею, почему это происходит. Если я открою интерпретатор python, корневые файлы django не появятся на пути.
После исправления easy_install PIL
должен работать.
Ответ 2
Переименуйте PIL-1.1.7-py2.6-win32.egg в PIL в каталоге сайтов-пакетов.
Ответ 3
У вас установлена (последняя версия) Visual Studio?
То, откуда приходит vcvarsall.bat
, и какое построение будет использовать любое расширение Python из источников C в Windows (есть способы использовать mingw
вместо этого, если это ваша фактическая проблема).
(Я говорю "последняя версия", потому что я считаю, что то, что построено в python.org для Python 2.6 для Windows).