2015-11-03 4 views
1

У меня есть скрипт, написанный на Python. Автор решил использовать новые функции, доступные только в Python 3, поэтому мне пришлось обновить мою версию.Python 2 vs Python 3 import

Теперь у меня возникают проблемы, потому что скрипт выходит из строя в операторе импорта, поэтому я решил выполнить некоторую отладку. Я пришел к выводу, что мой Python 3 не может импортировать Image из PIL.

В Python 2:

Python 2.7.10 (default, Aug 22 2015, 20:33:39) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from PIL import Image 

Не дает ошибку, но в Python 3:

Python 3.5.0 (v3.5.0:374f501f4567, Sep 12 2015, 11:00:19) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from PIL import Image 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'PIL' 

Почему это происходит и как я могу это исправить?

+0

PIL не является стандартной библиотекой, вам необходимо установить ее. Я рекомендую вилку Pillow (обновленная упаковка PIL и исправления ошибок). –

+2

Модули для Python 2 и Python 3 устанавливаются отдельно. Python 3 не может «разделять» модули, которые вы уже установили в Python 2. Если вы начинаете использовать Python 3, вам необходимо установить версии Python 3 для любых библиотек, которые вы хотите использовать. – BrenBarn

+1

Установили ли вы подушку на свой Python 3? –

ответ

4

PIL не является стандартной библиотекой; вы установили для Python 2, но эта установка не является (и не может быть) используется Python 3.

Установка PIL (или, скорее, Подушка вилка) явно в Python 3, а также:

python3 -m ensurepip # optional, makes sure pip is installed 
python3 -m pip install Pillow 

 Смежные вопросы

  • Нет связанных вопросов^_^