update tutorial one delete datatypes python sqlalchemy flask-sqlalchemy

python - tutorial - sqlalchemy delete object



ImportError: Ningún módulo llamado sqlalchemy (8)

¡Así que aquí hay una idea!

Ya que parecía funcionar en otro lugar.

instale python-virtualenv y opcionalmente puede instalar virtualenv-wrapper (que es muy bueno para crear proyectos, etc.)

En cada env, puedes tener diferentes versiones de huevos. En otras palabras, podría tener sqlalchemy 1 y sqlaclhemy 1.5 en dos envs diferentes y no entrarán en conflicto entre sí. Parece que tienes un problema con tus huevos actualmente instalados.

Así que, aquí vamos:

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

El parámetro --no-site-packages creará un virtualenv y no usará los paquetes ya instalados en su computadora. Es más o menos como una instalación de Python.

source foo/bin/activate carga el virtualenv.

No es tan amigable para el usuario. Y es por eso que existe http://www.doughellmann.com/projects/virtualenvwrapper/ .

Dicho esto, debería ver algo así como thant en su terminal "(foo) user @ domain $:" una vez que su virtualenv esté activado. ¡Significa que puedes continuar!

Entonces tienes que hacer.

python setup.py develop tu proyecto. Debería descargar e instalar dependencias de su proyecto en el virtualenv ubicado en foo . Si necesita instalar algo más, utilice pip o easy_install sin usar sudo . Cuando usas virtualenv, casi nunca necesitas usar sudo . Sudo instalará el paquete en su instalación global de python mientras no sea necesario y no sea realmente deseable.

Si sucede algo en su entorno virtual, siempre puede eliminarlo y crear uno nuevo. Esto no es gran cosa. No hay necesidad de meterse con nada. No funciona? comience de nuevo, pip install -U si es necesario, defina las versiones si es necesario, etc.

Por último, pero no menos importante, en las otras respuestas, parece que la importación cambió. Si las nuevas versiones de frasco-sqlalchemy se encuentran en otro lugar, debe actualizar su importación o instalar la versión que solía utilizar.

No puedo encontrar un módulo en python, aunque easy_install dice que ya está instalado. ¿Alguna idea de cómo resolver esto isseue?

$ 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

$ sudo pip install SQLAlchemy --upgrade Requisito ya actualizado: SQLAlchemy en /usr/lib/python2.7/site-packages Limpiar ...

Aunque pip dice que está instalado. Pero no puedo encontrarlos en la salida de sys.path.

$ 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'']


¿ flaskext.sqlalchemy ? Parece que tiene instalado el paquete SQLAlchemy pero no la extensión del matraz. Pruebe pip install Flask-SQLAlchemy o easy_install Flask-SQLAlchemy . Está disponible en la tienda de quesos, por lo que cualquiera de las utilidades debe recogerlo.


Acabo de experimentar el mismo problema. Aparentemente, hay un nuevo método de distribución, el código de extensión ya no se almacena en flaskext .

Fuente: Flask CHANGELOG Esto funcionó para mí:

from flask_sqlalchemy import SQLAlchemy


Está bien, he vuelto a instalar el paquete a través de pip, incluso eso no ayudó. Y luego sincronicé todo el directorio /usr/lib/python-2.7 desde otra máquina en funcionamiento con una configuración similar a la máquina actual. Comenzó a funcionar. No tengo ni idea, ¿qué pasaba con mi configuración? Veo alguna diferencia de salida de "print sys.path" antes y ahora. pero ahora mi problema se resuelve con este trabajo.

EDIT: encontré la solución real para mi configuración. actualizar "sqlalchemy solo no resuelve el problema" También necesito actualizar el flask-sqlalchemy que resolvió el problema.


Este código funciona perfectamente:

import sqlalchemy

¿Tal vez instaló el paquete en otra versión del intérprete?

Además, como señaló Shawley, debe tener instalada la extensión del matraz para que sea accesible.


Esto funciona para mí:

sudo pip install flask_sqlalchemy sudo pip install sqlalchemy

Luego en tu código usa:

from flask_sqlalchemy import SQLAlchemy


La solución para mí fue usar:

from flask_sqlalchemy import SQLAlchemy

en lugar de

from flask.ext.sqlalchemy import SQLAlchemy


prueba esto :

from flask.ext.sqlalchemy import SQLAlchemy