Tried running a file with the following imports:
from flask_sqlalchemy import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
Received the following error:
ImportError: No module named 'flask_sqlalchemy'
SQLAlchemy is installed. Still, I tried to reinstall into the directory in which it will be used. I got this:
The directory '/Users/_/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/_/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: Flask-SQLAlchemy in /Library/Python/2.7/site-packages (2.3.2)
Requirement already satisfied: Flask>=0.10 in /Library/Python/2.7/site-packages (from Flask-SQLAlchemy) (1.0.2)
Requirement already satisfied: SQLAlchemy>=0.8.0 in /Library/Python/2.7/site-packages (from Flask-SQLAlchemy) (1.2.10)
Requirement already satisfied: Jinja2>=2.10 in /Library/Python/2.7/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (2.10)
Requirement already satisfied: itsdangerous>=0.24 in /Library/Python/2.7/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (0.24)
Requirement already satisfied: Werkzeug>=0.14 in /Library/Python/2.7/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (0.14.1)
Requirement already satisfied: click>=5.1 in /Library/Python/2.7/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (6.7)
Requirement already satisfied: MarkupSafe>=0.23 in /Library/Python/2.7/site-packages (from Jinja2>=2.10->Flask>=0.10->Flask-SQLAlchemy) (1.0)
The bit about me not owning the directory is incorrect. I’m the only one on this machine. I own everything.
Anyway, I go back to rerun the file and get the same error message. So, it’s installed, but not installed or, at the very least, not available to me.
One error message I saw when I commented out one of the import statements read as follows:
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sqlalchemy/engine/strategies.py
I have no clue how to fix this and get SQLAlchemy up and running. I’ve burned over 1.5 hours on it. The last error listed suggests having 2 versions of python may have something to do with it.
Your thoughts on a remedy would be appreciated.
Просто не видит модуль sqlalchemy в приложении на flask (простенький блог). Всё перепробовал, и версии разные ставил, и менял на новые какие-то названия, ничего не помогло.
Везде, во всех туториалах, примерах всё ровно идёт, но, как всегда, не у меня.
P.S. Вот сам код блога (гитхаб)
И скрин ошибки:
-
Вопрос заданболее трёх лет назад
-
3328 просмотров
Пригласить эксперта
Вы импортируете не сам SQLAlchemy, а расширение для фласка (flask.ext.sqlalchemy) и устанавливать вам нужно именно его.
Сделать это можно так:pip install Flask-SQLAlchemy
Попробуй еще : pip install SQLAlchemy, сделай pip freeze и глянь какие пакеты установлены.
По ссылке с гита написано:
pip install flask-sqlalchemy
pip instal postgresql
pip install sqlalchemy
pip install flask
pip install psycopg2
pip install flask-login
По ссылке на гтхаб в Readme указаны необходимые манипуляции для установки блога:
pip install flask-sqlalchemy
…
Вы их выполнили?
-
Показать ещё
Загружается…
04 июн. 2023, в 01:35
1500 руб./за проект
04 июн. 2023, в 01:25
40000 руб./за проект
03 июн. 2023, в 23:42
1500 руб./за проект
Минуточку внимания
In this tutorial, we will cover how to fix Modulenotfounderror: no module named flask_sqlalchemy error.
Along with we will briefly discuss what are the causes and understand what module is this.
When developing applications with Python, Flask is one of the most popular frameworks to use.
It is simple, lightweight, and provides the essential features needed for web development.
However, when working with Flask, you may encounter an error message that says “ModuleNotFoundError: No module named ‘flask_sqlalchemy’”.
So let’s get started!
Flask-SQLAlchemy is a module for the Flask web framework that provides an easy-to-use interface for working with relational databases using SQLAlchemy.
Additionally, SQLAlchemy is a Python library that provides a high-level, object-oriented interface for working with databases.
Flask-SQLAlchemy allows you to define your database schema using Python classes, and it provides a set of tools for querying, updating, and managing your database data.
It also includes support for advanced features such as migrations, relationships between tables, and database transactions.
What is Modulenotfounderror: no module named ‘flask_sqlalchemy’?
ModuleNotFoundError: No module named ‘sqlalchemy’ is an error in Python that raise when we forget to install the SQLAlchemy module before importing it or installing it in an incorrect environment.
How to fix Modulenotfounderror: no module named ‘flask_sqlalchemy’
The following are the steps on how to resolve the error message stating modulenotfounderror: no module named flask_sqlalchemy in Python.
- Check if the flask_sqlalchemy module is installed
First, you need to check if the flask_sqlalchemy module is installed in your Python environment or system.
To check, open the cmd or command prompt, then type the command pip list.
The command pip list will show you the list of installed modules on your system.
Moving on, if the flask_sqlalchemy module is not found, move to the next step.
However, if the flask_sqlalchemy module is already installed, skip the next steps and proceed to the tip below.
- Install flask_sqlalchemy module
If the module is not installed, you need to install it in order to fix it.
Try the following command below in your terminal:
The command for virtual environment or using Python 2
pip install SQLAlchemy Flask-SQLAlchemy
If you are using python 3
pip3 install SQLAlchemy Flask-SQLAlchemy
If you’re getting a permissions error
sudo pip3 install SQLAlchemy Flask-SQLAlchemy
pip install SQLAlchemy Flask-SQLAlchemy –userCommand if you don’t have pip in your PATH environment variable
python -m pip install SQLAlchemy Flask-SQLAlchemy
If you are using python 3 it could also be pip3.10 depending on your version
python3 -m pip install SQLAlchemy Flask-SQLAlchemy
If you are using py alias Windows OS
py -m pip install SQLAlchemy Flask-SQLAlchemy
The command for Jupyter Notebook
!pip install SQLAlchemy Flask-SQLAlchemy - Fix the Path
After you installed the module but the error continues.
This is more likely the pip is installed but in the wrong path.
This is the reason why the script can’t locate it.
To fix this error follow the steps we will provide below.
Step 1: Open the folder where you installed your Python by using this command, where python.
Step 2: Copy the location of the Script folder after you browse and open it. Make sure it contains the pip file.
Step 3: In the command prompt open the script directory using the cd command and the location copied previously.
Step 4: Now install the module using the command pip install flask_sqlalchemy
.
- Check python version
Confirm that you’re using the right Python version that has the
module installed if you have numerous versions of Python installed on your system.flask_sqlalchemy
To do so, you can check your Python version by inputting python –version into your command prompt.
The command python –version will display the version of Python installed on your system.
Reason why we encounter Modulenotfounderror: no module named ‘flask_sqlalchemy’
Having Modulenotfounderror: no module named ‘flask_sqlalchemy’ is due to the following reasons:
- The SQLAlchemy package was not installed by running pip install SQLAlchemy.
- Installing the package in a Python version other than the one you’re currently using.
- Installing the package on a global scale rather than in your virtual environment.
- The IDE running an incorrect version of Python.
- Naming your module sqlalchemy.py which would shadow the official module.
- Declaring a variable named sqlalchemy which would shadow the imported variable.
If the error continues, acquire your Python version and ensure that you are installing the package with the correct Python version.
Other Solutions in fixing Modulenotfounderror: no module named ‘flask_sqlalchemy’
- The modulenotfound error shows because of the relative imports.
- Having different versions of Python and pip in your system. Try this command to fix:
- python3 -m pip install sqlalchemy
- pip3 install sqlalchemy
- pip install sqlalchemy
- Typically facing server-side issue. Try this command:
- pip install –user sqlalchemy
- If you are using Ubuntu, an error may appear so use this command:
- sudo apt install sqlalchemy
Conclusion
In conclusion, Modulenotfounderror: no module named flask_sqlalchemy is an error raised when the Python code is trying to import the “flask_sqlalchemy ” module but it can’t be found.
Either the module is not installed or it’s installed in a location where your Python interpreter is not looking for it.
Remember to always keep your Python installation and modules up to date, and to check for missing dependencies if you encounter any issues.
That’s it we have provided solutions for fixing this error. However, if you follow the steps and encounter any further errors, feel free to ask for more help!
If you are finding solutions to some errors you’re encountering we also have Modulenotfounderror: no module named django_filters.
Go to flask
Python 3.7 error with flask-sqlalchemy
I’m getting the error when I’m trying to import SQLAlchemy from flask-sqlalchemy and I can’t find the solution. Here is what I did in my virtual environment:
pip3 install flask-sqlalchemy
pip freeze (which outputs:
Flask==1.0.2
Flask==Migrate==2.3.0
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
SQLALchemy==1.2.12
Etc.)
py -3 (to open up python 3.7)
from flask_sqlalchemy import SQLAlchemy
Then I get the error this error:
ModuleNotFoundError: No module named ‘flask_sqlalchemy’
If you want to use SQLAlchemy for Flask in a virtual environment,
you may get this error message:
ModuleNotFoundError: No module named ‘flask_sqlalchemy’
Solution:
Install ‘flask_sqlalchemy’ with activated VENV and with the internal python version of the virtual environment.
Otherwise, sqlalchemy will be installed in your root directory and not in the VENV.
.venvScriptspython.exe -m pip install flask-sqlalchemy
If you want to learn more about Flask projects with sqlalchemy, visit our current project ServerMonitor!
I found the solution in this Reddit post:
https://www.reddit.com/r/flask/comments/9r0kmz/python_37_error_with_flasksqlalchemy/
Thank you morty!
Когда я получил сообщение: «RuntimeError: Working outside of request context», — я понял, что не внимательно читал документацию. Точнее читал внимательно, но не ту версию. Прочитав нужную версию (ссылка есть в первом сообщении), исправил на:
Python | ||
|
Но, как и изложено выше, упёрся в стену. Ошибки исчезли, но база не создавалась. Разумеется возник закономерный вопрос, что тут все же не так. В документации более ничего не увидел (видимо, плохо смотрел).
Дальнейший ход рассуждений был таким: раз это база данных, то, когда речь идёт о CREATE, INSERT или UPDATE, то тут нужен commit. Попытка решить проблему «в лоб»:
Python | ||
|
результатов не принесла. В поисках на просторах Web, на Stackoverflow обнаружил одну идею и переписал так:
Python | ||
|
И база создалась. Причем создалась на втором уровне вложенности: varmain-instancesimple.db.
Начало положено…
#python #anaconda
#питон #анаконда
Вопрос:
я не могу импортировать flask_sqlalchemy даже после установки flask-sqlachemy
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
# ^this line shows error ImportError: "flask_sqlalchemy" could not be resolved
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
я не использую какую-либо виртуальную среду, и flask-sqlalchemy показывает, что она уже установлена
(base) sachin@sachin:~/Coding/flask/blog$ pip install Flask-SQLAlchemy
Requirement already satisfied: Flask-SQLAlchemy in /home/sachin/anaconda3/lib/python3.8/site-packages (2.4.4)
Requirement already satisfied: SQLAlchemy>=0.8.0 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Flask-SQLAlchemy) (1.3.20)
Requirement already satisfied: Flask>=0.10 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Flask-SQLAlchemy) (1.1.2)
Requirement already satisfied: Jinja2>=2.10.1 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (2.11.2)
Requirement already satisfied: itsdangerous>=0.24 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (1.1.0)
Requirement already satisfied: click>=5.1 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (7.1.2)
Requirement already satisfied: Werkzeug>=0.15 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Flask>=0.10->Flask-SQLAlchemy) (1.0.1)
Requirement already satisfied: MarkupSafe>=0.23 in /home/sachin/anaconda3/lib/python3.8/site-packages (from Jinja2>=2.10.1->Flask>=0.10->Flask-SQLAlchemy) (1.1.1)
pip freeze показывает мне, что он уже установлен —
Flask==1.1.2
Flask-SQLAlchemy==2.4.4
Комментарии:
1. Вероятно, вы используете системную версию python, а не Anaconda. Нет другого объяснения, кроме того, что вы используете другой интерпретатор python, чем вы ожидаете
2. Попробуйте
which python3
и посмотрите, указывает ли он на anaconda3. да, он указывает мне на anaconda3 …. /home/sachin/anaconda3/bin/python3 что мне теперь делать?
4. Я только что столкнулся с этой ошибкой в vscode, я запускаю WSL workspace. Я смог обойти проблему, выбрав системный python, а затем вернувшись к python3.
5. Если вы используете pipenv, попробуйте
pipenv install Flask-SQLAlchemy
! amp; проверьте Pipfile, добавлена ли зависимость. Однажды я столкнулся с такой проблемой. Как ни странно, когда я перезапустил компьютер, это сработало.
Ответ №1:
У меня была та же ошибка. Изменил мой системный python, выполнив следующие действия в VS Code: В меню «Вид» выберите «показать панель команд». Одна из команд, которые вы затем можете выбрать из палитры команд, — «Python: выберите интерпретатор». Выбор этого параметра позволит вам выбрать, какую версию python использовать.
Ответ №2:
Этот пост довольно старый, но я нашел другое решение, которое может помочь другим. Для меня проблема заключалась в моей IDE / Python (venv). На данный момент я использую Visual Studio версии 1.57.1 в Windows 10.
- Откройте визуальный код.
- Перейдите в раздел «Просмотр» на панели инструментов.
- Нажмите «Палитра команд …» (или нажмите CTRL SHIFT P в Windows).
- Поиск: «Интерпретатор выбора Python».
- Нажмите: «Введите путь интерпретатора …», а затем «Найти …».
- Перейдите в папку скриптов (venv):
project_folder/venv/Scripts
. - Выберите
python.exe
илиpythonw.exe
внутри вашейproject_folder/venv/Scripts
папки.
Вот и все.
Flask-SQLAlchemy был установлен в моей виртуальной среде (venv). Но мой VSCode использовал интерпретатор Python system / PC для поиска пакетов вместо venv.
Надеюсь, это поможет кому-то еще.
Комментарии:
1. Привет, у меня даже нет папки scripts в моей виртуальной среде. Это странно. Не уверен, было ли обновление с тех пор. Вы знаете, где это может быть сейчас?
2. Привет @Connor, я точно не знаю, но я советую вам переделать свой
venv
. Вот как я это сделал: flask.palletsprojects.com/en/2.0.x/installation В Windows для созданияvenv
:> mkdir myproject > cd myproject > py -3 -m venv venv
Для активации вашегоvenv
в Windows:> venvScriptsactivate
Ответ №3:
Это для людей, которые не используют Anaconda (у меня была эта проблема, и я решил ее таким образом)
venv
Возможно, вы ошибаетесь. Вы скопировали вставку venv
из другого каталога?
venv
сохраняет информацию о пути, поэтому при запуске envScriptsactivate
venv считает, что он находится в другом каталоге.
Он установит пакеты в СТАРЫЙ каталог. Убедитесь, что вы создаете новое py -m venv env
для каждого создаваемого вами приложения, а не копируете вставку.
Решение состоит в том, чтобы удалить ваш текущий venv
каталог и py -m venv env
снова запустить команду. Тогда пакеты будут установлены в текущем venv
.
Ответ №4:
У меня была такая же проблема, это сработало для меня:
В cmd, cd
в папку вашего проекта, (для меня мне пришлось активировать venv, чтобы он показывал (env) C: etc etc>)
Затем установите его здесь с помощью:
pip3 install flask-SQLAlchemy
по какой-то причине это заняло у этого новичка 12 попыток, но в результате в папке моего сайта не было файлов sqla, и он продолжал показывать, что установка произошла в моей папке python39.
Ответ №5:
У меня была такая же проблема, но она сработала, когда я переключился на интерпретатор Python в командной палитре вкладки view. Если вы считаете, что установили все необходимые пакеты, и это не работает, тогда обязательно попробуйте это.
Ответ №6:
Одна вещь, которую я заметил, это то, что если я изменю интерпретатор python из командной палитры (ctrl shift p) на мою виртуальную среду, она не будет работать. Сначала я попробовал команду,
py -3 -m pip install flask-SQLALchemy
Вместо приведенной выше команды я обновляю pip, используя,
python -m pip install --upgrade pip
затем я попытался использовать следующее для импорта SQLAlchemy.
python -m pip install flask-SQLALchemy
и это сработало для меня.
Ответ №7:
Когда вы внесете изменения, я имею в виду изменение вашего интерпретатора python, удаление вашего env или повторное создание установочных пакетов. Пожалуйста, закройте ваш app.py
файл и снова откройте его. Иногда это все еще выдает вашу ошибку.
Ответ №8:
Для тех, кто ищет более свежий ответ. Я не смог найти папку со сценариями. На моей машине ubuntu я сделал это (в vscode):
- ctrl shft p
- поиск выберите интерпретатор python
- введите путь интерпретатора
- перейдите к вашему-app/venv/python3
- выберите python3
Это решило проблему с импортом.