エラーが発生します:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-4-0f6709e38f49> in <module>()
----> 1 from PIL import Image
C:\Anaconda\lib\site-packages\PIL\Image.py in <module>()
61 from PIL import _imaging as core
62 if PILLOW_VERSION != getattr(core, 'PILLOW_VERSION', None):
---> 63 raise ImportError("The _imaging extension was built for another "
64 " version of Pillow or PIL")
65
ImportError: The _imaging extension was built for another version of Pillow or PIL
PILライブラリを使用しようとするたびに。たくさんの.gifを読み込んで作業しようとしています。今、私が試しているのは次のとおりです。
from PIL import Image
Scipyを使って別のアプローチを試す:
import scipy.ndimage as spnd
os.chdir('C:\\WeatherSink\\data\\')
spnd.imread('2014-11-03-0645.gif')
失敗する:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-3-23c383b79646> in <module>()
1 os.chdir('C:\\WeatherSink\\data\\')
----> 2 spnd.imread('2014-11-03-0645.gif')
C:\Anaconda\lib\site-packages\scipy\ndimage\io.pyc in imread(fname, flatten, mode)
36 from PIL import Image
37 except ImportError:
---> 38 raise ImportError("Could not import the Python Imaging Library (PIL)"
39 " required to load image files. Please refer to"
40 " http://pypi.python.org/pypi/PIL/ for installation"
ImportError: Could not import the Python Imaging Library (PIL) required to load image files. Please refer to http://pypi.python.org/pypi/PIL/ for installation instructions.
最初のアプローチは、インストールされているPILのバージョンに私を導きます。 getattr(...)をエミュレートしようとすると、Noneが返されます。ですから、それが機能するよりも少ないことには驚かないでしょう。しかし、誰もがエラーを「修正」する方法を知っていますか?
私はcondaを介してpython2.7を管理するwin7で実行しています。出力を変更せずに、パッケージも削除して再インストールしようとしました。
ヘルプは大歓迎です。
これはインストールの問題のみです。
システムにpipがインストールされていない場合は、最初にインストールしてください。 Windowsでも使用可能 です。
Numpy、pip/pillow、scipyをアップグレードします。
pip install -U numpy
pip install -U pil/pillow
pip install -U scipy
Windowsの最良のオプションは anaconda を使用することです。
Pipは既にcondaにインストールされていると思います。これにより、システムバージョンの問題が解決します。
In [1]: from PIL import Image
In [2]: import scipy.ndimage as spnd
In [3]: x = spnd.imread('ppuf100X91.gif')
In [4]: print x
[[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]
...,
[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]
[255 255 255 ..., 255 255 255]]
これはpython 3.6の問題です。3.6ファイルの編集:C:\Anaconda\lib\site-packages\PIL\Image.py
および変更コード:
if PILLOW_VERSION != getattr(core, 'PILLOW_VERSION', None):
raise ImportError("The _imaging extension was built for another "
" version of Pillow or PIL")
これを次のように変更します。
if core.PILLOW_VERSION != getattr(core, 'PILLOW_VERSION', None):
raise ImportError("The _imaging extension was built for another "
" version of Pillow or PIL")
これで問題が解決します。よろしく
この問題は、PIL /枕のPythonパッケージがシステムのアップまたはダウンバージョンであることが原因であり、この問題が原因でシステムで生成されます。
次のコマンドを確認してください:
Sudo apt-get install python-PIL
このパッケージがインストールされているかどうかを確認します。インストールされている場合は、次のコマンドで削除してみてください。
Sudo apt-get remove python-PIL
これが機能することを確認して、PIL /枕のパッケージをシステムから削除します。
そして最後に、このコマンドはこのパッケージの問題を解決するのに役立ちます:
Sudo apt-get autoremove python-PIL
次に、PIL/Pillowパッケージを再インストールします。
Sudo apt-get install python-pil
これは問題の解決に役立ちます。
おそらく、依存関係の1つにPILが必要であり、PILがPillowの後にインストールされてしまい、サイトパッケージのディレクトリで競合が発生する可能性があります。インポート文が_imaging
をPillowインストールではなく正規のPILインストールからインポートしているため、このエラーが表示されていると思います。
PILまたは枕を必要とする競合するパッケージで過去に問題がありました。もちろん枕は好ましいパッケージです。私はあなたのパッケージの依存関係を見てみましょう。 PILに依存するものを見つけた場合は、依存関係をPillowに変更するプルリクエストを送信するか、その変更で独自のフォークを作成することもできます。私の状況では、プロジェクトは長い間活動をしていないようだったので、フォークは私が解決したオプションでした。
最終的には、PILパッケージに依存しないようにする必要があります(アクティブではなくなったため)。