mirror of https://github.com/django/django.git
Fixed #21355 -- try importing _imaging from PIL namespace first.
This commit is contained in:
parent
9d6c48aeb0
commit
5725236c3e
|
@ -18,6 +18,8 @@ Combinations To Account For
|
||||||
* CPython 2.x may *NOT* have _imaging (broken & needs a error message)
|
* CPython 2.x may *NOT* have _imaging (broken & needs a error message)
|
||||||
* CPython 3.x doesn't work
|
* CPython 3.x doesn't work
|
||||||
* PyPy will *NOT* have _imaging (but works?)
|
* PyPy will *NOT* have _imaging (but works?)
|
||||||
|
* On some platforms (Homebrew and RHEL6 reported) _imaging isn't available,
|
||||||
|
the needed import is from PIL import _imaging (refs #21355)
|
||||||
|
|
||||||
Restated, that looks like:
|
Restated, that looks like:
|
||||||
|
|
||||||
|
@ -62,7 +64,8 @@ Approach
|
||||||
|
|
||||||
* The only option here is that we're on Python 2.x or PyPy, of which
|
* The only option here is that we're on Python 2.x or PyPy, of which
|
||||||
we only care about if we're on CPython.
|
we only care about if we're on CPython.
|
||||||
* If we're on CPython, attempt to ``import _imaging``
|
* If we're on CPython, attempt to ``from PIL import _imaging`` and
|
||||||
|
``import _imaging``
|
||||||
|
|
||||||
* ``ImportError`` - Bad install, toss an exception
|
* ``ImportError`` - Bad install, toss an exception
|
||||||
|
|
||||||
|
@ -120,6 +123,9 @@ def _detect_image_library():
|
||||||
# We're on CPython (likely 2.x). Since a C compiler is needed to
|
# We're on CPython (likely 2.x). Since a C compiler is needed to
|
||||||
# produce a fully-working PIL & will create a ``_imaging`` module,
|
# produce a fully-working PIL & will create a ``_imaging`` module,
|
||||||
# we'll attempt to import it to verify their kit works.
|
# we'll attempt to import it to verify their kit works.
|
||||||
|
try:
|
||||||
|
from PIL import _imaging as PIL_imaging
|
||||||
|
except ImportError:
|
||||||
try:
|
try:
|
||||||
import _imaging as PIL_imaging
|
import _imaging as PIL_imaging
|
||||||
except ImportError as err:
|
except ImportError as err:
|
||||||
|
|
Loading…
Reference in New Issue