例としてCentOSを使用してx64システムにPython Image Library(PIL)をインストールする

開発者が多くのpythonとdjangoを必要とする場合、同じホスト上で異なるバージョンが助けになります
virtualenv ...

しかし、その後、あなたはピップを介してあなたの手で各Pythonの追加モジュールをインストールする必要があり

そして、ここには微妙な違いがあります。 たとえば、PILライブラリ

完全にインストールされていますが、使用しようとすると、このような優れたエラーメッセージが生成されます

decoder jpeg not available

問題は、PILをビルドするとき、ライブラリがjpeg、zlib、tiff、freetypeで動作できないことです。これは、この例では/ usr / lib64にあり、PILでは/ usr / local / libのみを参照するように記述されているためです。


この問題を解決する差分は次のとおりです。

 *** setup.py.orig 2012-12-01 16:11:49.000000000 +0400 --- setup.py 2012-12-01 16:12:15.000000000 +0400 *************** *** 147,152 **** --- 147,154 ---- add_directory(library_dirs, "/opt/local/lib") add_directory(include_dirs, "/opt/local/include") + + add_directory(library_dirs, "/usr/lib64") + add_directory(library_dirs, "/usr/lib") add_directory(library_dirs, "/usr/local/lib") # FIXME: check /opt/stuff directories here? 


最後に、CentOSのインストール例:
必要なバージョンのpythonおよびpython-develが必要な場所に既にインストールされていることが理解されます
仮想環境。

 yum install libjpeg libjpeg-devel zlib zlib-devel libtiff libtiff-devel freetype freetype-devel wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar -zxvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7 


ここで、setup.pyにパッチを適用し、必要な仮想環境で続行します。

 python setup.py build --force python setup.py install 

Source: https://habr.com/ru/post/J161517/


All Articles