Не удалось разрешить импорт «колбы» из исходного Pylance (reportMissingModuleSource)
Когда я пишу
from flask import Flask
Одна желтая линия идет вверх по колбе и с указанием импорта «колба» не может быть решена с источником Pylance (reportMissingModuleSource) . Также я могу успешно работать с этим пакетом. Но дело в том, что я не очень хорошо умею использовать автоматические подсказки для классов и методов.
Дальше:
- Я убедился, что колба успешно установлена.
- Также я посетил эту ветку https://github.com/microsoft/pylance-release/issues/236
И я настроил свой settings.json в vscode следующим образом:
"python.analysis.extraPaths": [
"/media/sarimurrab/New Volume/COURSES/Flask/FlaskMigrateforDatabaseMigrations/2"
]
Но все же не удалось устранить ошибку.
12 ответов
Когда я не установил модуль «flask» в среде Python, которая в настоящее время используется в VSCode:
Пожалуйста, используйте команду "
pip --version
"чтобы проверить источник инструмента установки модуля" pip ", модуль устанавливается в это место:
Затем мы можем использовать команду "
pip show flask
"для проверки места установки модуля" flask ": (Он проверяет, соответствует ли место установки модуля среде Python, отображаемой в нижнем левом углу VSCode.)
Если сообщение «reportMissingModuleSource» все еще отображается здесь, перезагрузите VS Code.
(
F1
,
Developer: Reload Window
)
Вы используете Virtualenv? Если это так, убедитесь, что VSCode использует virtualenv в качестве вашего интерпретатора python, иначе он не сможет получить пакеты, которые вы установили внутри этого virtualenv.
Для этого щелкните интерпретатор Python в нижней панели, вы должны получить список возможных интерпретаторов Python, включая ваш virtualenv.
У меня была аналогичная проблема при попытке импортировать флягу на vscode. Я исправил это с помощью анаконды . Просто вы устанавливаете модуль flask на снимке экрана вашего созданного примера среды .
Как создать виртуальную среду в anaconda:
1. На левой боковой панели щелкните среды.
2. Щелкните создать (внизу).
3. Во всплывающем окне дайте вашему vir.env имя и выберите языковую версию.
4. После создания вы можете приступить к установке различных модулей в своей среде.
Надеюсь, это поможет!
Для Linux Mint и для тех, кто установил фляжку, но VSCode ее не находит:
- проверьте путь к Flask:
pip show flask
(должно быть что-л.Location: /home/<username>/.local/lib/python3.8/site-packages
- в VSCode нажмите левую нижнюю кнопку и выберите интерпретатор python, в моем случае я изменил его с
python3.9
кpython3.8
как мы видим это в колбеpath
.
Я попробовал все это, и ни один из этих шагов мне не помог.Наконец, это сработало:
Проверьте настройки интерпретатора вашей IDE. Если вы используете IDE, например PyCharm или Visual Studio Code, убедитесь, что вы выбрали правильный интерпретатор для своей виртуальной среды в настройках IDE.
Где мы это проверим в VSCode:
- Ctrl + Shift + P
- Введите «Python: выберите интерпретатор» в строке поиска палитры команд и выберите параметр из списка.
- Если ваша виртуальная среда уже указана, выберите ее из списка интерпретаторов. Если нет, выберите опцию «Ввести путь интерпретатора» и вручную найдите исполняемый файл интерпретатора в вашей виртуальной среде.
- Интерпретатором вашей виртуальной среды будет: <path_to_virtual_environment>/bin/python.
Я столкнулся с этой проблемой из-за использования колбы установки pip вместо колбы установки pip3.
Я решил свою проблему, используя «глобальную» версию Python. Возможно, Pylance не обновился для работы с версией Python, которую я использовал. скриншот языка интерпретатора
Это потому, что вы неправильно выбрали свой путь, введите:
pipenv --venv
тогда он покажет вам, где установлен ваш виртуальный env. Проверьте, где установлены пакеты в вашем окружении, а затем введите то, что приходит к вам из оболочки \scripts или любого другого \python, и пакеты будут работать.
Я столкнулся с той же проблемой. Я пробовал все решения от переполнения стека, но ни один из них не работал. Но после долгих поисков и траты времени я обнаружил свою глупую ошибку. Я создал папку с именем «колба» и сохранил там свой проект. Я новичок и делаю много таких глупых ошибок. Надеюсь, это поможет, если кто-то совершит ту же ошибку.
Я думаю, что это проблема Vscode, просто перезапустите Vscode.
Выполнив следующие шаги, я решил эту проблему:
1) В каталоге проекта создайте файл
- в
.flaskenv
файл напишите следующие две строки:
FLASK_ENV=развитие
FLASK_APP=main.py
Обратите внимание, что main.py является моим основным файлом после написания flask run
в терминале Vscode дополнительно необходимо предварительно создать папку env или файл требований.
В нескольких ответах (ответы Джилл, Мариуса и Роя) упоминается тот факт, что необходимо выбрать правильный интерпретатор Python для правильной работы Pylance. Я хотел бы добавить тот факт, что это все еще необходимо сделать при использовании Jupyter Notebook с уже выбранным правильным ядром Python.
Было бы нелогично выбирать и интерпретатор Python, и ядро Python для записной книжки, чтобы все работало. Это еще более нелогично, учитывая тот факт, что кнопка интерпретатора Python (в левой нижней части экрана, в строке состояния) не обязательно появляется, когда открыт блокнот Jupyter, но когда открыт скрипт Python. Например, снимке на этомэкрана мы видим небольшую строку под импортом Scikit-learn, указывающую на проблему с импортом (даже если импорт прошел успешно). Однако правильное ядро Python с установленным Scikit-learn уже выбрано. Открытие только скрипта Pythonмы замечаем, что интерпретатор Python является причиной такого поведения, потому что был выбран неправильный, без Scikit-learn. В некотором смысле можно было подумать, что причиной этого была проблема с ядром Python или средой Conda (часто возникают проблемы такого рода при экспериментах с Jupyter Notebook и Jupyter Lab). Я надеюсь, что этот ответ может помочь тем, кто ищет решение этой проблемы в конкретном контексте Jupyter Notebooks внутри VS Code. Они могли проигнорировать другие ответы, потому что могли подумать, что это не для них.