首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Studio代码的调试器和管道

Visual Studio代码的调试器和管道
EN

Stack Overflow用户
提问于 2020-01-25 15:00:29
回答 2查看 5.1K关注 0票数 12

我想使用Visual Studio code的调试器来调试我的python代码,但是发生了异常。我使用的是Windows 10、WSL、Debian、Python 3.7.6。

代码语言:javascript
复制
Exception has occurred: ModuleNotFoundError
No module named 'flask'
  File "/home/kazu/test/main.py", line 2, in <module>
    from flask import Flask

这是python调试器控制台的记录。

代码语言:javascript
复制
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 

但是,我已经使用pipenv安装了flask。当我不使用调试器时,没有模块错误。

这是我的main.py

代码语言:javascript
复制
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()

我在网上搜索,发现我应该把我的.venv文件夹放在项目目录中。所以,我操作了这个命令。

代码语言:javascript
复制
export PIPENV_VENV_IN_PROJECT=1

现在我的目录结构是这样的。

代码语言:javascript
复制
.
├── main.py
├── Pipfile
├── Pipfile.lock
├── .venv
└── templates
    └── index.html

但是,我得到了相同的错误信息。

然后,我再次在Internet上搜索,这次我设置了vs代码的python venv路径,但我得到了相同的错误消息。

你能给我一些信息或建议吗?

提前谢谢你。

诚心诚意,Kazu

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-29 05:56:01

如果您查看屏幕的左下角,您将注意到您当前运行的是Python的pyenv安装,而不是pipenv虚拟环境。如果您单击解释器名称并选择安装flask的适当环境,它应该会修复您的问题。

票数 21
EN

Stack Overflow用户

发布于 2020-01-25 15:22:57

有时问题甚至不是导入的问题。如果在显示相同异常之前加载的文件存在语法错误,请执行以下操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59907079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档