Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:UsersAnirudhDocumentsflask_appconnecting_to_databaseapplication.py", line 2, in <module>
from flask_sqlalchemy import SQLAlchemy
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagesflask_sqlalchemy__init__.py", line 18, in <module>
import sqlalchemy
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagessqlalchemy__init__.py", line 9, in <module>
from .sql import (
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagessqlalchemysql__init__.py", line 8, in <module>
from .expression import (
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagessqlalchemysqlexpression.py", line 34, in <module>
from .visitors import Visitable
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagessqlalchemysqlvisitors.py", line 28, in <module>
from .. import util
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagessqlalchemyutil__init__.py", line 8, in <module>
from .compat import callable, cmp, reduce,
File "C:UsersAnirudhAppDataLocalProgramsPythonPython38libsite-packagessqlalchemyutilcompat.py", line 234, in <module>
time_func = time.clock
AttributeError: module 'time' has no attribute 'clock'
我在SQLalchemy 1.2.10中遇到了这个问题。升级到当前版本(截至目前为 1.3.18(解决了问题
pip install sqlalchemy --upgrade
发生此错误是因为在 python 2 中,有time.clock()
,但在 python 3 中,它已被替换为time.perf_counter()
。
只需将所有time.clock
更换为time.perf_counter
,应该没问题。更多信息: https://www.webucator.com/blog/2015/08/python-clocks-explained/
我找到了一个适合我的解决方案 我有一个名为env的虚拟环境地毯,我在其中安装了sqlalchemy 所以,env\Lib\site-packages\flask_sqlalchemy_init_.py 里面有这个代码:
if sys.platform == 'win32':
_timer = time.clock
else:
_timer = time.time
我把时钟改成了perf_counter(( _timer = time.perf_counter((
升级到最新版本可以解决问题。
pip install flask_sqlalchemy --upgrade