2017-03-28 8 views
0

何をしましたか?AH01215:ImportError:PILという名前のモジュールがありません: - pythonスクリプトがapache2から実行するとPILを認識できませんconfig

私はapache httpd.confで設定しました。mod_cgi.soとhttpd-vhosts.confを有効にしています。

httpd-vhostsには、次のような構成があります。基本的にはすべての/ images/patternをキャプチャしようとしていますが、index.pyスクリプトを使ってそのプロセスを読み込み、image/jpegコンテンツとして戻します。

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName www.groc-example.com 
ServerAlias groc-example.com 
Alias "/images/" "/var/www/images/" 
DirectoryIndex index.py 
ErrorLog "/private/var/log/apache2/groc-example-images-error_log" 
CustomLog "/private/var/log/apache2/groc-access-log" common 
<Directory "/var/www/images/"> 
Options +ExecCGI 
Allow from all 
Require all granted 
ForceType text/html 
AddHandler cgi-script .py 

index.pyでは、イメージをインポートしようとしてスクリプトを開始しようとしています。それは何かの仕事、つまり全く認識しません。 PILの同じインポートは、spyderまたはpycharmまたはコマンドラインのpython2/python3インターフェイスから動作します。

PILインポートステートメントを削除すると、htmlが動作したり、ブラウザに出力されます。

#! /usr/bin/env python 
from PIL import Image 

print "" 
print "hello world" 
print "--" 
print "" 

何が起こりますか?

PILを認識するためのpythonスクリプトが認識されません。私はPIL-SIMDを複数回アンインストールして再インストールしましたが、動作していません。 私はpython2とpython3の両方を持っていますが、デフォルトではpython2を使用していますので、Apache CGIインターフェイスです。

実際に何が起こったのですか?

Apacheのログに次のエラーが記録されます。

AH01215: from PIL import Image: /var/www/images/index.py 
AH01215: ImportError: No module named PIL: /var/www/images/index.py 

どのバージョンのPillowとPythonを使用していますか?

のPython 2.7.12 枕-SIMD 枕-SIMD(4.0.0.post0)

これは文句を言わない解決場合は助けてください、私は完全に離れてのpythonから移動する必要があります。

+0

これを試してみましたか:http://stackoverflow.com/questions/8863917/importerror- no-module-named-pil –

+0

あなたはcgiを使用していてwsgiを使用していない何らかの理由がありますか? –

+0

そのスクリプトがApacheから実行されている間に、PYTHONPATHは何ですか? PILは検出可能ですか? –

答えて

0

すべて - 私はDan-Dev &によって提供されるリンクも試しました。 Jamesは、画像のサイズを変更し、画像のみの呼び出しを傍受して傍受するためにのみこれを使用しています。他のすべてのリクエストは、Apache2を介して他のAppServerに送信されます。

次のようにsys.pathを印刷しました。私はPYTHONPATHで何かを得ることができません。ここでも私がコメントアウトし、os名前空間からイメージを出力するだけであれば動作することに注意してください。私は枕を試してみると問題が発生します。私はPython & pillow-simdの両方をアンインストール/再インストールしましたが、この問題は解決しません。

また、#!/ usr/bin/pythonオプションも試してみましたが、これはうまくいきませんでした。私はMac 10.5です。*

['/ private/var/www/images'、 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip'、 '/ System /ライブラリ/フレームワーク/ Python.framework/Versions/2.7/lib/python2.7 '、' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin '、'/System /ライブラリ/フレームワーク/ Python.framework/Versions/2.7/lib/python2.7/plat-mac '、' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib -scriptpackages '、' /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python '、' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib -tk '、' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old '、' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2 .7/lib-dynload '、' /システム/ライブラリ/フレームワーク/ Python。フレームワーク/バージョン/ 2.7/Extras/lib/python/PyObjC '、' /Library/Python/2.7/site-packages ']

関連する問題