我正在遵循这个tutorial,在步骤2中运行$ nosetests时,我得到了以下导入错误:
EE
======================================================================
ERROR: Failure: ImportError (No module named flask_sqlalchemy)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/path/to/project/app/__init__.py", line 4, in <module>
from flask_sqlalchemy import SQLAlchemy
ImportError: No module named flask_sqlalchemy
======================================================================
ERROR: Failure: ImportError (No module named flask_testing)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/path/to/project/tests.py", line 3, in <module>
from flask_testing import TestCase
ImportError: No module named flask_testing
----------------------------------------------------------------------
Ran 2 tests in 0.150s
FAILED (errors=2)在these two链接的帮助下,我正在运行以下命令:
// Set up virtual environment
$ cd project
$ python3 -m venv flask
$ source flask/bin/activate
$ (flask)$
// Install
$ (flask)$ curl https://bootstrap.pypa.io/get-pip.py | python3
// Deactivate then reactivate virtual environment
(flask)$ deactivate
$ source flask/bin/activate
// Current status
(flask)$ pip -V
# pip 8.1.2 from /project/flask/lib/python3.5/site-packages (python 3.5)
(flask)$ python -V
# Python 3.5.2
// install modules
$ flask/bin/pip3 install flask
$ flask/bin/pip3 install flask-sqlalchemy
$ flask/bin/pip3 install flask-testing
// Updated status
(flask)$ pip list
# click (6.6)
# Flask (0.11.1)
# Flask-SQLAlchemy (2.1)
# Flask-Testing (0.6.1)
# itsdangerous (0.24)
# Jinja2 (2.8)
# MarkupSafe (0.23)
# pip (8.1.2)
# setuptools (20.10.1)
# SQLAlchemy (1.1.1)
# Werkzeug (0.11.11)
# wheel (0.29.0)并设置了以下文件:
// tests.py
from flask_testing import TestCase
from app import db, app
TEST_SQLALCHEMY_DATABASE_URI = "sqlite:///test.sqlite"
class MyTest(TestCase):
def create_app(self):
app.config['SQLALCHEMY_DATABASE_URI'] = TEST_SQLALCHEMY_DATABASE_URI
return app
def setUp(self):
db.create_all()
def tearDown(self):
db.session.remove()
db.drop_all()
// __init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.db'
// run.py
#!flask/bin/python3
from app import app
app.run(debug=True)我正在尝试使用python3来做所有的事情,它似乎在2.7版本中寻找模块。你能告诉我我哪里做错了吗?谢谢。
发布于 2016-10-09 05:42:42
在Flask中,通常是模块的导入错误(尽管已安装),与您运行应用程序的方式有关。运行run.py时,请检查解释器路径。我见过很多次,运行./run.py不能工作,因为库在flask/*目录下。您可以运行~/flask/bin/python run.py或将flask/bin/python添加到LD_LIBRARY_PATH
https://stackoverflow.com/questions/39936287
复制相似问题