属性错误:模块"time"在SQLAlchemy python 3.8.2中没有属性"clock"


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

最新更新