即使使用python3-m pytest,pytest也无法导入模块
我正在尝试使用pytest测试烧瓶和sqlalchemy应用程序。设置如下所示:即使使用python3-m pytest,pytest也无法导入模块,python,python-3.x,flask,pytest,flask-sqlalchemy,Python,Python 3.x,Flask,Pytest,Flask Sqlalchemy,我正在尝试使用pytest测试烧瓶和sqlalchemy应用程序。设置如下所示: import os import pytest from myserver import app, db @pytest.fixture def client(): db_fd, app.config['DATABASE_FILE_PATH'] = tempfile.mkstemp() app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + a
import os
import pytest
from myserver import app, db
@pytest.fixture
def client():
db_fd, app.config['DATABASE_FILE_PATH'] = tempfile.mkstemp()
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + app.config['DATABASE_FILE_PATH']
app.config['TESTING'] = True
client = app.test_client()
with app.app_context():
db.drop_all()
db.create_all()
yield client
os.close(db_fd)
os.unlink(app.config['DATABASE_FILE_PATH'])
但是,当我尝试像这样运行pytest时:/myaplicationfolder python3-m pytest
我得到这个错误:
============================================== ERRORS ==============================================
______________________________ ERROR collecting test_myserver.py ______________________________
ImportError while importing test module '...../test_myserver.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.6/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
test_myserver.py:4: in <module>
from myserver import app, db
myserver.py:9: in <module>
from flask_jwt_extended import create_access_token
E ModuleNotFoundError: No module named 'flask_jwt_extended'
===================================== short test summary info ======================================
ERROR test_myserver.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================= 1 error in 0.96s =========================================
=============================================================================================错误==============================================
______________________________收集测试\u myserver.py时出错______________________________
导入测试模块“……/test_myserver.py”时导入错误。
提示:确保您的测试模块/包具有有效的Python名称。
回溯:
/usr/lib/python3.6/importlib/__init__u;.py:126:在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
test_myserver.py:4:in
从myserver导入应用程序,数据库
py:9:in
从flask\u jwt\u扩展导入创建\u访问\u令牌
E ModuleNotFoundError:没有名为“flask\u jwt\u extended”的模块
===============================================================简短测试摘要信息======================================
错误测试_myserver.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 中断:收集过程中出现1个错误!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================0.96秒内出现1个错误=========================================
我试图删除并添加\uuuu init\uuuu.py
,但它不起作用。
我需要把它们放在一个特殊的文件夹里吗?
我读过类似的问题,但不明白如何更改PYTHONPATH(如果有必要).试试:
pip3安装flask jwt extended
我已经这样做了,确保你的pip3
使用与python3
相同的解释器,以确保你可以做:python3-m pip安装flask jwt extended
我试过了,你能告诉我们你的目录布局吗?