Python 3.8 import records报错

因为是初学python,所有没有弄环境隔离那些的,然后用的PyCharm 2020.1 x64开发,最开始是好的,到后面突然不行了,不知道是不是导包冲突还什么,查了点资料,删除pyc文件重新编译没用,然后当前目录下也没用重名的文件,不知道这是什么原因。

image.png

代码:

import records
print("start")

报错信息:

E:\python3.8\python.exe E:/python-workspace/db2.py
Traceback (most recent call last):
  File "E:/python-workspace/db2.py", line 4, in <module>
    import records
  File "E:\python3.8\Lib\site-packages\records.py", line 11, in <module>
    from sqlalchemy import create_engine, exc, inspect, text
  File "E:\python3.8\Lib\site-packages\sqlalchemy\__init__.py", line 12, in <module>
    from sqlalchemy.sql import (
  File "E:\python3.8\Lib\site-packages\sqlalchemy\sql\__init__.py", line 7, in <module>
    from sqlalchemy.sql.expression import (
  File "E:\python3.8\Lib\site-packages\sqlalchemy\sql\expression.py", line 32, in <module>
    from sqlalchemy import util, exc
  File "E:\python3.8\Lib\site-packages\sqlalchemy\util\__init__.py", line 7, in <module>
    from .compat import callable, cmp, reduce, defaultdict, py25_dict, \
  File "E:\python3.8\Lib\site-packages\sqlalchemy\util\compat.py", line 202, in <module>
    time_func = time.clock
AttributeError: module 'time' has no attribute 'clock'
阅读 3.1k
2 个回答

自己解决了,解决方法是把所有使用pip下载的库都删光了,然后又重新下载了,这次下载是使用的pip3命令,不知道有没有关系,但是已经不报错了。

time.clock()在python3.8已经被移除了,可以使用time.perf_counter或者time.process_time来替代。

解决办法

  • sqlalchemy这个包可能要升级了,你升级试一下
  • 或者找到compat.py这个文件,将对应的time.clock()修改为python3.8中对应的函数。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题