我已经看到了这个问题的几个答案,尽管没有一个解决方案适用于我的特殊情况。我试图开始使用Flask构建一个API。当我尝试导入Flask-RESTful时,我在VS Code中得到一个错误。对于上下文,我使用Windows 11。下面是我的.py文件的前两行:
from flask import Flask
from flask_restful import Resource, Api, reqparse
字符串
我得到的错误如下:
Import "flask_restful" could not be resolved Pylance(reportMissingImports)
型
现在,为了添加更多的上下文,我已经检查确保解释器路径是使用Ctrl+Shift+P
设置的,以打开命令行,并为我的虚拟环境中的项目选择正确的(也是唯一的)Python解释器。当我运行pip list
时,我得到以下输出:
(api) C:\Users\<Username>\OneDrive\Documents\PythonProjects\api>pip list
Package Version
----------------------- ---------
aiohttp 3.8.1
aiosignal 1.2.0
alembic 1.8.0
aniso8601 9.0.1
anyio 3.6.1
async-timeout 4.0.2
attrs 21.4.0
bleach 5.0.1
certifi 2022.6.15
charset-normalizer 2.1.0
click 8.1.3
click-log 0.4.0
colorama 0.4.5
deprecation 2.1.0
docutils 0.19
dotty-dict 1.3.0
Flask 2.1.2
Flask-Migrate 3.1.0
Flask-RESTful 0.3.9
Flask-SQLAlchemy 2.5.1
flask-swagger 0.2.14
frozenlist 1.3.0
gitdb 4.0.9
GitPython 3.1.27
gotrue 0.5.0
greenlet 1.1.2
h11 0.12.0
httpcore 0.14.7
httpx 0.21.3
idna 3.3
importlib-metadata 4.12.0
invoke 1.7.1
itsdangerous 2.1.2
Jinja2 3.1.2
keyring 23.6.0
Mako 1.2.1
MarkupSafe 2.1.1
multidict 6.0.2
packaging 21.3
pip 22.0.4
pkginfo 1.8.3
postgrest-py 0.10.2
psycopg2 2.9.3
pydantic 1.9.1
Pygments 2.12.0
pyparsing 3.0.9
python-dateutil 2.8.2
python-gitlab 3.6.0
python-semantic-release 7.28.1
pytz 2022.1
pywin32-ctypes 0.2.0
PyYAML 6.0
readme-renderer 35.0
realtime 0.0.4
requests 2.28.1
requests-toolbelt 0.9.1
rfc3986 1.5.0
semver 2.13.0
setuptools 58.1.0
setuptools-scm 7.0.4
six 1.16.0
smmap 5.0.0
sniffio 1.2.0
SQLAlchemy 1.4.39
storage3 0.3.4
supabase 0.5.8
supabase-client 0.2.4
tomli 2.0.1
tomlkit 0.10.2
tqdm 4.64.0
twine 3.8.0
typing_extensions 4.3.0
urllib3 1.26.10
webencodings 0.5.1
websockets 9.1
Werkzeug 2.1.2
wheel 0.37.1
yarl 1.7.2
zipp 3.8.0
型
为什么flask...Flask
可以导入,而flask_restful
不行?我可以看到在我的项目目录的Lib\site-packages文件夹中,pip list
* 外部 * 虚拟环境的输出是不同的,这向我表明路径或目录没有问题。
编辑:我忘了提,当我使用Ctrl + Alt + N
运行代码时,我得到以下输出:
Traceback (most recent call last):
File "c:\Users\<Username>\OneDrive\Documents\PythonProjects\api\api.py", line 3, in <module>
from flask_restful import Resource, Api, reqparse
ModuleNotFoundError: No module named 'flask_restful'
型
同样,导入flask没有错误,只有flask_restful。
任何帮助,这将是非常感谢!提前感谢您的时间。我很高兴提供更多的信息,如果需要的话。谢谢。
编辑:我已经更新了pip,并尝试在命令提示符下运行程序。This is what I got.我仍然在VS Code中遇到导入错误。我将看看使用不同版本的Python是否会有所不同。感谢大家到目前为止的帮助,我很感激!
编辑:好吧,看起来这个问题离解决更近了一点。所以,我更新了pip。我重新设置了解释器路径,你们中的一些人提到了,结果发现我做错了。我必须做Ctrl + Shift + P >> Python: Select Interpreter >> Enter interpreter path
并选择正确的路径。我通过进入项目目录,转到scripts文件夹,选择python.exe
来做到这一点。
这就解决了Pylance的问题。在处理项目时,我不再在编辑器中看到错误。然而,解释器不会显示在窗口的右下角。这可能只是一个bug,我可以在GitHub上查看问题,或者在其他时候打开一个新的问题。
当我用Ctrl + Alt + N
运行代码时,我再次得到一个与flask_restful相关的ModuleNotFoundError
。但是,当我在终端中运行set flask_app=api.py >> flask run
时,它已经从浏览器中的白色背景变为黑色背景,并显示它想要显示的消息(一个简单的“Hello,World”作为测试)。
我应该继续下去,直到我遇到另一个问题吗?我也尝试了python -m api
,这也工作。我应该忽略VS代码输出窗口吗?另外,很抱歉回复晚了。我感谢大家的帮助和耐心。
2条答案
按热度按时间yhived7q1#
使用
Ctrl+Shift+P
命令,搜索和select Python:Select Interpreter
(或者直接点击右下角显示的python版本),选择正确的解释器。的数据
dgiusagp2#
好吧,这个问题肯定是与选择的Python解释器。
1.检查你使用的python版本
1.检查你是否在windows或Linux或命令提示符下使用wsl
现在在我的情况下选择解释器并没有解决这个问题。我甚至尝试了虚拟环境并给出了一个路径。但python默认情况下将.exe安装在一个隐藏文件夹中,我找不到env文件夹中的文件
我在windows和visual studio代码上使用wsl。
所以我运行了安装在env外部的pip。也在powershell/cmd和终端上。错误消失了。