前提・実現したいこと
site-packagesにインストールされたライブラリをimportしたpythonコード(FLASKを利用)を
CGIサーバーで実行したいと考えています。
環境
エックスサーバー
Python 3.7.6
Flask 1.1.1:WEBアプリケーションフレームワーク
Linuxbrew:パッケージ管理システム:
発生している問題・エラーメッセージ
site-packagesにインストールされたライブラリをimportしないときは、
ブラウザでアクセスしたときに意図した画面が表示されます。
site-packagesにインストールされたライブラリをimportするときは、
ブラウザでアクセスしたとき、500 internal server errorとなります。
該当のソースコード
index.cgi
index.cgi
1#!/home/□□/.linuxbrew/bin/python3 2from wsgiref.handlers import CGIHandler 3from test import app 4CGIHandler().run(app)
test.py
test.py
1# coding: utf-8 2from flask import Flask 3import 〇〇 4 5app = Flask(__name__) 6 7@app.route("/") 8def hello_world(): 9 return "Hello, World!"
試したこと
以下は仮想環境上で実施
####(1)意図したライブラリがインストールされていることを確認
pip3 freeze
####(2)意図したpythonが使用されていることを確認
python3 -v
####(3)ライブラリにパスが通っていることを確認
(3-1)コンソールを起動
python3 -v
(3-2)パスを確認
import sys print(sys.path)
疑っているが、確認方法がわからないこと
CGIで起動したpythonコードからライブラリが見えていない
ただし、上記の(3-2)で絶対パスが合っていることは確認
補足情報
以下のサイトの手順で環境を構築しました。
https://datacoach.me/data/engineering/xserver-python-flask-env/
https://qiita.com/n-Taro/items/b50ebe49cacda7327aa2