python: "Импорт изображения" работает только при выполнении от имени пользователя root

Когда я запускаю интерпретатор Python как root, я могу импортировать Image:

Python 2.7.13 (default, Sep 26 2018, 18:42:22) 
>>> import Image

однако, когда я делаю то же самое, что и пользователь (www-data), Я получил MemoryError:

Python 2.7.13 (default, Sep 26 2018, 18:42:22) 
>>> import Image
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/PILcompat/Image.py", line 1, in <module>
    from PIL.Image import *
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 57, in <module>
    __import__("FixTk")
  File "/usr/lib/python2.7/lib-tk/FixTk.py", line 15, in <module>
    import ctypes
  File "/usr/lib/python2.7/ctypes/__init__.py", line 552, in <module>
    _reset_cache()
  File "/usr/lib/python2.7/ctypes/__init__.py", line 276, in _reset_cache
    CFUNCTYPE(c_int)(lambda: None)
MemoryError

Почему это происходит? Как я могу запустить скрипт как пользователь www-data и использовать import Image?

1 ответ

Я полагаю, вы установили пакет Image с помощью sudo pip install ... Пожалуйста, попробуйте переустановить его без sudo.

Другие вопросы по тегам