我正在尝试学习Flask,我使用Ubuntu 19.04,并且正在VSCode中编写代码。在遵循了随附的教程之后,我仍然遇到问题:未解决的导入“ flask_mysqldb”以及与wtforms和passlib相同的问题。
我已经安装了所有要求,只是检查一下,我尝试再次安装,然后收到消息:“要求已经满足:mysqlsome位于“ someplace” /。local / lib / python2.7 / site-packages中>
我以为我可能正在使用python 3.7,但它会自行安装在2.7中?但是它从来没有问我在哪里安装。
这是我关注的视频教程: https://www.youtube.com/watch?v=addnlzdSQs4
from flask import Flask, render_template, flash, redirect, url_for, session, loggin
from data import Articles
from flask_mysqldb import MySQL
from wtforms import Form, StringField, TextAreaField, PasswordField, validators
from passlib.hash import sha256_crypt
前两个导入效果很好,其他两个带有绿色下划线并收到错误消息。
例如:
未解决的导入'flask_mysqldb'
未解决的导入'wtforms'
未解析的导入'passlib.hash'
答案 0 :(得分:7)
我已经遇到过几次这个问题,并且通常只在“退出” VSCode时起作用,因为VSCode有时不检查路径。它使用“旧”设置或“路径”。通过退出程序并重新启动它,它会更新它并起作用(如果出现此问题)
答案 1 :(得分:1)
我在将VSCode与python3 venv结合使用时偶然发现了这个问题。
前提:虽然@truth回答向我指出了正确的方向,但我仍然无法选择正确的解释器:适合我的解释器应该是在venv文件夹中创建的解释器,但当时不会显示在venv选项上,即使我通过GUI浏览到正确的文件夹,它也不允许我选择它(因为它可能是一个符号链接?)
TLDR:对于像我这样的Mac用户,它们默认情况下安装了python2,通过brew安装了python3,并且使用的是虚拟环境(由python3 -m venv
产生),解决方案如下:
code .
完成,您的依赖关系现在应该可以解决。
答案 2 :(得分:0)
您是否尝试将VSCode中的解释器设置为正确的值(如果有的话,包括virtualenv)?
打开命令面板( Ctrl-Shift-P ),然后选择“ Python:Select Interpreter”。
有关更多详细信息,请参见:https://code.visualstudio.com/docs/python/environments
答案 3 :(得分:0)
尝试了许多操作后仍无法正常工作,最终重新启动了所有内容。删除所有文件,然后再次执行。它以某种方式起作用。设置时一定有一些错误。
答案 4 :(得分:0)
可能您使用了pip install flask-wtf命令,但这是错误的方式。首先,您必须使用命令:sudo apt install python3-pip,然后使用命令:pip3 install flask-wtf安装flask-wtf,因为您需要用于python3的库,而不是用于python2的库。