Closed snemoto-42 closed 8 months ago
import "flask" could not be resolvedの対策 https://dntf.hatenablog.com/entry/2021/08/07/021123
'Python:Select Interpreter'のpathを通す https://it-dxblog.com/vscode-python-venv/
venv仮想環境 https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e
pip freeze https://note.nkmk.me/python-pip-install-requirements/
venv仮想環境を構築する場合 python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install flask
レビューのためにmakefileに追加して実行するのが良さそう
課題
Traceback (most recent call last): File "./docs/autoindex/app.py", line 4, in from flask import Flask, render_template File "/Users/snemoto/42/42-webserv/env/lib/python3.9/site-packages/flask/init.py", line 46 def getattr(name: str) -> t.Any: ^ SyntaxError: invalid syntax
env: python3.9: No such file or directory
0flaskを諦める render_template()の再実装 VM+Docker php/perlなど他言語の活用
1execve()引数の問題? https://www.twilio.com/ja/blog/environment-variables-python-jp
2シバンの問題? (実行可能)/usr/bin/env python (実行不可)/usr/bin/env python3 (実行不可)/usr/bin/env python3.9
3PythonとFlaskのバージョンの問題? (校舎mac)Python 3.9 (latest)Python 3.12 (latest)Flask 3.0.1
=>flaskがインストールされたvenv環境では./docs/autoindex/app.pyが実行できる =>./webserv側の修正が必要、1execve()引数の問題、main(**envp())が必要、そうしたらExecCGIのPYTHONPATHは不要になる
(結論)execve()の引数を修正して、python3が呼び出されるようにした
TODO ・/autoindex/のgetcwd()を修正、絶対パスを指定して/docs/傘下のファイルを表示 ・autoindex.htmlの
バグは解消されたのでクローズ
・実行環境によって/python/の結果がブラウザに表示されない (校舎mac:ok/mypc:ng、pythonの実行環境の問題、pythonなのかpython3なのか) ・統一された環境でレビューしてもらうにはdockerが必要か