Вопрос по python – ImportError: нет модуля с именем sqlalchemy

43

Я не могу найти модуль в Python, хотя easy_install говорит, что он уже установлен. Есть идеи, как решить эту проблему?

<code>$ python -c "from flaskext.sqlalchemy import SQLAlchemy"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named sqlalchemy


$ python -V
Python 2.7


$ sudo easy_install sqlalchemy
Searching for sqlalchemy
Best match: SQLAlchemy 0.7.7
Adding SQLAlchemy 0.7.7 to easy-install.pth file

Using /usr/lib/python2.7/site-packages
Processing dependencies for sqlalchemy
Finished processing dependencies for sqlalchemy
</code>

$ sudo pip install SQLAlchemy --upgrade Requirement already up-to-date: SQLAlchemy in /usr/lib/python2.7/site-packages Cleaning up...

Хотя pip говорит, что он установлен. Но я не могу найти их в выводе sys.path.

<code>$ sudo python -c "import sys;print sys.path" ['',
'/usr/lib/python2.7/site-packages/Flask_SQLAlchemy-0.15-py2.7.egg',
'/usr/lib/python2.7/site-packages/Flask-0.8-py2.7.egg',
'/usr/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg',
'/usr/lib/python2.7/site-packages/Werkzeug-0.8.3-py2.7.egg',
'/usr/lib/python2.7/site-packages/Flask_WTF-0.5.2-py2.7.egg',
'/usr/lib/python2.7/site-packages/WTForms-0.6.3-py2.7.egg',
'/usr/lib/python2.7/site-packages/Flask_Mail-0.6.1-py2.7.egg',
'/usr/lib/python2.7/site-packages/blinker-1.2-py2.7.egg',
'/usr/lib/python2.7/site-packages/lamson-1.1-py2.7.egg',
'/usr/lib/python2.7/site-packages/python_daemon-1.6-py2.7.egg',
'/usr/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg',
'/usr/lib/python2.7/site-packages/mock-0.8.0-py2.7.egg',
'/usr/lib/python2.7/site-packages/chardet-1.0.1-py2.7.egg',
'/usr/lib/python2.7/site-packages/lockfile-0.9.1-py2.7.egg',
'/usr/lib/python2.7/site-packages/Flask_FlatPages-0.2-py2.7.egg',
'/usr/lib/python2.7/site-packages/Markdown-2.1.1-py2.7.egg',
'/usr/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-i686.egg',
'/usr/lib/python2.7/site-packages/uWSGI-1.0.3-py2.7.egg',
'/usr/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg',
'/usr/lib/python27.zip', '/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages',
'/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']
</code>
Начал щедрость - Как я снова обнаружил эту проблему. После установки пакета с помощью pip & quot; pip install python-bcrypt & quot; сегодня. webminal.org

Ваш Ответ

10   ответов
3

Этот код работает отлично:

import sqlalchemy

Может быть, вы установили пакет в другой версии интерпретатора?

Кроме того, как указал Шоули, для того, чтобы он был доступен, необходимо установить удлинитель колбы.

-1 естьSQLAlchemy класс в расширении фляги sqlalchemy ...
нет, даже это не помогло "python -c" от flaskext.sqlalchemy import sqlalchemy " Traceback (последний вызов был последним): файл & lt; string & gt ;, строка 1, в & lt; module & gt; Ошибка импорта: нет модуля с именем sqlalchemy & quot; webminal.org
42

появился новый метод распространения, код расширения больше не хранится вflaskext.

Source: колбаCHANGELOG Это сработало для меня:

from flask_sqlalchemy import SQLAlchemy
Или жеfrom flask.ext.sqlalchemy import SQLAlchemy
Спас мой день ....from flask.ext.sqlalchemy is not working for me
этот ответ должен быть принят. сэкономил кучу времени.
Спасибо за обновление. Надеюсь, это будет полезно для кого-то :) webminal.org
3

сначала установите библиотеку

pip install flask_sqlalchemy 

после этого

from flask_sqlalchemy import SQLAlchemy

поместите это в файл app.py, чтобы получить доступ к базе данных через SQLAlchemy

9

я переустановил пакет через pip, даже если это не помогло. А затем я rsync & reg; весь каталог /usr/lib/python-2.7 с другой рабочей машины с аналогичной конфигурацией текущая машина. Она начала работать. Я понятия не имею, что не так с моей настройкой. Я вижу некоторую разницу "print sys.path" выход раньше и сейчас. но теперь моя проблема решена с помощью этой работы.

РЕДАКТИРОВАТЬ: нашел реальное решение для моей установки. Обновление "sqlalchemy" только не решает проблему " Мне тоже нужно обновитьflask-sqlalchemy это решило проблему.

почему вы просто не используете virtualenv?
Этот обходной путь не помогает, так как моя другая машина не работает :( webminal.org
это потому, что ваши lib / site-пакеты вашего python-env загрязнены плохой версией sqlchemy, и easy_install / pip сначала найдите там и проверьте свой & quot; easy-install.pth & quot; или & quot; setuptools.pth & quot; для установленных пакетов и останавливается, если они находят сломанную версию;
0

from flask_sqlalchemy import SQLAlchemy

вместо

from flask.ext.sqlalchemy import SQLAlchemy
0

но, надеюсь, это кому-нибудь поможет, находился в такой же ситуации около часа без решения, упомянутого выше. (На машине с Windows 10).

В диалоговом окне «Настройки / Настройки» (Ctrl+Alt+S), в боковом меню выберите Project: | Переводчик проекта.

Проверьте, какие пакеты у вас установлены (вам нужны SQLAlchemy и Flask-SQLAlchemy). Дважды нажмите на название любого пакета, «Доступные пакеты»; Меню откроется.

Найдите отсутствующие пакеты и нажмите «Установить».

5
3

Так как, казалось, работает где-то еще.

устанавливатьpython-virtualenv и, по желанию, вы можете установить virtualenv-wrapper (что очень здорово для создания проектов и т. д.)

В каждом env у вас могут быть разные версии яиц. Другими словами, у вас могут быть sqlalchemy 1 и sqlaclhemy 1.5 в двух разных средах, и они не будут конфликтовать друг с другом. Кажется, у вас есть проблема с вашими в настоящее время установленными яйцами.

Итак, поехали:

virtualenv --no-site-packages foo
source foo/bin/activate

Параметр --no-site-packages создаст virtualenv и не будет использовать пакеты, уже установленные на вашем компьютере. Это в значительной степени похоже на установку с чистым питоном.

source foo/bin/activate загружает virtualenv.

Это не очень удобно для пользователя. И вот почемуhttp://www.doughellmann.com/projects/virtualenvwrapper/ существует.

Тем не менее, вы должны увидеть что-то вроде thant в своем терминале & quot; (foo) user @ domain $: & quot; как только ваш virtualenv активирован. Это означает, что вы можете продолжать!

Тогда ты должен сделать.

python setup.py develop вашего проекта. Он должен загрузить и установить зависимости вашего проекта в virtualenv, расположенном вfoo, Если вам нужно установить что-либо еще, пожалуйста, используйтеpip или жеeasy_install без использованияsudo, При использовании virtualenv вам почти не нужно использоватьsudo, Sudo установит пакет в вашей глобальной установке на Python, пока это не требуется и не очень желательно.

Если что-то происходит в вашем virtualenv, вы всегда можете удалить это и создать новое. Это не страшно. Не нужно ни с чем связываться. Не работает? начать сначала, сделатьpip install -U при необходимости определите версии, если необходимо, и так далее.

Последнее, но не менее важное, в других ответах кажется, что импорт изменился. Если новые версии для flask-sqlalchemy находятся где-то еще, вы должны обновить свой импорт или установить версию, которую вы использовали.

9

sudo pip install flask_sqlalchemy
sudo pip install sqlalchemy

Тогда в вашем коде используйте:

from flask_sqlalchemy import SQLAlchemy
Да, вот пример:github.com/mitsuhiko/flask-sqlalchemy/blob/master/examples/…
59

flaskext.sqlalchemy? Похоже, у вас установлен пакет SQLAlchemy, а не расширение фляги. Пытатьсяpip install Flask-SQLAlchemy или жеeasy_install Flask-SQLAlchemy, этодоступно в магазине так что любая утилита должна забрать его.

В Ubuntu 12.04 pip install Flask-SQLAlchemy помог мне.
хм .. она также установлена & quot; easy_install Flask-SQLAlchemy Поиск Flask-SQLAlchemy Наилучшее совпадение: Flask-SQLAlchemy 0.16 Добавление Flask-SQLAlchemy 0.16 в файл easy-install.pth Использование /usr/lib/python2.7/site-packages Обработка зависимостей для Flask-SQLAlchemy Завершенные зависимости обработки Завершенные зависимости для Flask-SQLAlchemy & quot; webminal.org
просто добавив ошибку, которую я имел. Я использовал virtualenv и столкнулся с этой проблемой. Бегpip install Flask-SQLAlchemy without sudo было то, что заставило меня работать.

Похожие вопросы