centOS6 に、Flask の環境を構築しようとしていますが、ModuleNotFoundErrorでつまづいています。
・Anaconda3 をインストール。インストールしたバージョンは、Anaconda3-2019.10-Linux-x86_64.sh。
/usr/local/anaconda3 にインストール
Python 3.7.4 (default, Aug 13 2019, 20:35:49) [GCC 7.3.0] :: Anaconda, Inc. on linux ``` ・簡単なFlaskアプリケーションを作成し、単体で実行し、正常にアクセスできることを確認 ```Python3 * Serving Flask app "runService" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: on INFO:werkzeug: * Running on http://0.0.0.0:5004/ (Press CTRL+C to quit) INFO:werkzeug: * Restarting with stat WARNING:werkzeug: * Debugger is active! INFO:werkzeug: * Debugger PIN: 104-257-565
・mod_wsgi を利用して、Apache2.4 と連携するために設定。
※mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.soは、anaconda3 のsite-packages/mod_wsgi/server/ からコピー
LoadModule wsgi_module modules/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so <VirtualHost *:80> ServerName myserver WSGIScriptAlias /testFlask /home/hoge/testFlask/adapter.wsgi WSGIDaemonProcess testApp user=hoge group=hoge threads=5 WSGIScriptReloading On <Directory "/home/hoge/testFlask/testApp"> WSGIProcessGroup testApp WSGIApplicationGroup %{GLOBAL} AllowOverride All Require all granted </Directory>
・apache2 を再起動して、アクセスすると、
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Fatal Python error: initfsencoding: unable to load the file system codec ModuleNotFoundError: No module named 'encodings'
のエラーになります。
・Python のパスをApaches が見えていないのかと考え、Apache2 の起動時に、環境変数として
export PYTHONPATH="/usr/local/anaconda3/lib/python3.7/"
と指定、再起動して、アクセスしたところ、
File "/home/hoge/testFlask/runService.py", line 1, in <module> from flask import Flask ModuleNotFoundError: No module named 'flask'
のエラーになりました。
どのようにPYTHONPATH を指定するのが正解なのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/11 23:33
2020/03/12 01:12