Home > Software engineering >  python 3.7 cannot import easy-pil
python 3.7 cannot import easy-pil

Time:12-04

I am trying to use easy-pil to make rank cards for discord.py. I have the problem that python cannot import the modules on ubuntu, and I get an error.

This is at the top of the file to import

from easy_pil import Editor, Canvas, Font, load_image, Text

This is the error I get

Traceback (most recent call last):
  File "bot.py", line 9, in <module>
    from easy_pil import Editor, Canvas, Font, load_image, Text
  File "/usr/local/lib/python3.7/dist-packages/easy_pil/__init__.py", line 3, in <module>
    from .editor import Editor
  File "/usr/local/lib/python3.7/dist-packages/easy_pil/editor.py", line 2, in <module>
    from .font import Font
  File "/usr/local/lib/python3.7/dist-packages/easy_pil/font.py", line 3, in <module>
    from typing import Literal
ImportError: cannot import name 'Literal' from 'typing' (/usr/lib/python3.7/typing.py)

Am I missing something to import, or has something been installed incorrectly?

CodePudding user response:

The error is caused by the fact that Literal was added to the python standard library's typing module in version 3.8 according to the docs.

easy-pil's setup.py claims compatibility with python 3.7 , so this is clearly a bug.

I've taken the liberty of reporting this on GitHub (citing this question): https://github.com/shahriyardx/easy-pil/issues/3. In the meantime upgrade your python to 3.8 for an easy workaround.

  • Related