I would like to use Visual Studio Code's debugger to debug my python code, but exception occurs. I use Windows 10, WSL, Debian, Python 3.7.6.
Exception has occurred: ModuleNotFoundError
No module named 'flask'
File "/home/kazu/test/main.py", line 2, in <module>
from flask import Flask
This is python debugger console's record.
pyenv shell 3.7.6
/home/kazu/.pyenv/versions/3.7.6/bin/python /home/kazu/.vscode-server/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 52440 /home/kazu/test/main.py
kazu@D:~/test$ pyenv shell 3.7.6
kazu@D~/test$ /home/kazu/.pyenv/versions/3.7.6/bin/python /home/kazu/.vscode-server/extensions/ms-python.python-2020.1.58038/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 52440 /home/kazu/test/main.py
However, I have already installed flask using pipenv. When I don't use debugger, there isn't module error.
This is my main.py
from __future__ import unicode_literals
from flask import Flask
from flask import render_template
from flask import request
from flask import send_file
import os
import youtube_dl
app = Flask(__name__)
@app.route("/", methods=['POST', 'GET'])
def index():
if request.method == "POST":
if os.path.exists("/tmp/output.mp4"):
os.remove("/tmp/output.mp4")
else:
print("Can not delete the file as it doesn't exists")
url = request.form['url']
ydl_opts = {'outtmpl': '/tmp/output.mp4', 'format':'bestvideo[ext=mp4]'}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
return send_file("/tmp/output.mp4",as_attachment=True)
else:
return render_template("index.html")
if __name__ == "__main__":
app.run()
I searched the Internet and found that I should put my .venv folder in the project directory. So, I operated this command.
export PIPENV_VENV_IN_PROJECT=1
and now my directory structure is this.
.
├── main.py
├── Pipfile
├── Pipfile.lock
├── .venv
└── templates
└── index.html
However, I get same error message.
Then, I searched the Internet again and this time I set vs code's python venv path, but I got the same error message.
Could you give me any information or suggestion?
Thank you in advance.
Sincerely, Kazu
所有评论(0)