Flask: ModuleNotFoundError: нет модуля с именем flask_sqlalchemy

Я следую этому популярному руководству https://www.youtube.com/watch?v=cYWiDiIUxQc, чтобы создать веб-приложение Flask. Я делаю это в Visual Code Studio, но обнаружил ошибку в SQLAlchemy.

 from flask_sqlalchemy import SQLAlchemy

Это мой код для импорта модуля.

Я получаю сообщение «ModuleNotFoundError: нет модуля с именем flask_sqlalchemy». Я проверил, правильно ли я установил flask_sqlalchemy, введя 'pip list' в CMD внутри папки моего проекта, и он указан в установленных пакетах. Поэтому я не понимаю, почему VScode не может найти модуль. После поиска в Интернете потенциальная проблема, похоже, связана с виртуальными средами, но я, похоже, правильно установил модуль локально для проекта, поэтому я понятия не имею, в чем проблема.

После


person Smasher640    schedule 09.06.2020    source источник


Ответы (1)


Вам необходимо настроить vscode для использования вашего virtualenv.

Щелкните ctrl+shift+p и напишите «интерпретатор выбора Python», нажмите «Ввод» и введите путь к интерпретатору venv.

person Mirko Mucaria    schedule 09.06.2020
comment
Я немного смущен необходимостью virtualenv. В учебнике я не вижу упоминания о virtualenv, он просто, кажется, использует pip в командной строке локально в папке проекта. Устанавливаются ли модули локально, и если да, то зачем нужен virtualenv? Кроме того, как мне найти свой путь интерпретатора venv? - person Smasher640; 10.06.2020
comment
Virtualenvs были созданы для решения проблем зависимости, связанных с несколькими установками на одном компьютере. Например, вы можете установить программное обеспечение A с библиотекой C v1.2.3 в зависимости от вашего компьютера. позже потребуется установить также программное обеспечение B с зависимостью от библиотеки C v1.3.5, в которой были внесены критические изменения, которые могут нарушить работу программного обеспечения A. С помощью virtualenvs вы изолируете 2 среды установки - person Mirko Mucaria; 10.06.2020
comment
Если вы установили flask_sqlachemy глобально, вы должны указать vscode, какой глобальный интерпретатор вы используете для этого проекта, возможно, для него установлена ​​неправильная версия интерпретатора. Чтобы получить правильный путь, вы можете использовать команду which python - person Mirko Mucaria; 10.06.2020
comment
Это полезно, спасибо. Что касается глобальной установки flask_sqlachemy, как я уже сказал, я установил ее, зайдя в CMD, изменив каталог на папку, в которой находится файл python, над которым я работаю, а затем с помощью команды pip install flask_sqlachlemy. Это глобальная установка? Кроме того, где мне использовать команду 'which python'? - person Smasher640; 10.06.2020
comment
Если вы не создали и не активировали venv, запуск чистой pip install установит пакет глобально. Вы используете Windows, Linux или Mac? which команда работает в Linux и Mac, но я не знаю, что эквивалентно в Windows. В Linux и Mac вы можете запустить команду which в любом месте терминала, и она напечатает путь к исполняемому файлу, переданному в качестве аргумента. Вероятно, когда вы запускаете свой проект с терминала, вы используете другую версию python, чем vscode по умолчанию - person Mirko Mucaria; 10.06.2020
comment
Я использую Windows. Согласно CMD, я использую Python 3.8.3. При выборе Python 3.8.3 в качестве пути интерпретатора в VSCode проблема все равно не решается. - person Smasher640; 10.06.2020