11
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Anirudh\Documents\flask_app\connecting_to_database\application.py", line 2, in <module>
    from flask_sqlalchemy import SQLAlchemy
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\flask_sqlalchemy\__init__.py", line 18, in <module>
    import sqlalchemy
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\__init__.py", line 9, in <module>
    from .sql import (
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\sql\__init__.py", line 8, in <module>
    from .expression import (
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\sql\expression.py", line 34, in <module>
    from .visitors import Visitable
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\sql\visitors.py", line 28, in <module>
    from .. import util
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\util\__init__.py", line 8, in <module>
    from .compat import callable, cmp, reduce,  \
  File "C:\Users\Anirudh\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\util\compat.py", line 234, in <module>
    time_func = time.clock
AttributeError: module 'time' has no attribute 'clock'
1
  • When submitting a question some background information is advisable. Please indicate OS and version, full Python version, SQLALchemy version, flask_sqlalchemy version. Also where is being run virtualenv, system, etc. Just noticed that visitors.py is in sqlalchemy package. Is that your module? Commented Jun 17, 2020 at 19:37

4 Answers 4

18

I had this issue with SQLAlchemy 1.2.10. Upgrading to the current version (1.3.18 as of now) fixed the problem

pip install sqlalchemy --upgrade
Sign up to request clarification or add additional context in comments.

Comments

4

The error occurs because in python 2, there is time.clock(), but in python 3, it has been replaced with time.perf_counter().

Just replace all the time.clock to time.perf_counter, and it should be fine. For more info: https://www.webucator.com/blog/2015/08/python-clocks-explained/

1 Comment

Except this is coming from the SQLAlchemy compat.py module. I'm not seeing time_func = time.clock here: github.com/sqlalchemy/sqlalchemy/blob/master/lib/sqlalchemy/…. I suspect there is a version mismatch in either the Python or SQLAlchemy being used.
4

I found a solution that worked for me I have a virtual environment carpet named env in which I installed sqlalchemy So, env\Lib\site-packages\flask_sqlalchemy_init_.py Inside that there is this code:

   if sys.platform == 'win32':
        _timer = time.clock
   else:
        _timer = time.time

And I changed clock to perf_counter() _timer = time.perf_counter()

Comments

0

Upgrading to the latest version solves the problem.

pip install flask_sqlalchemy --upgrade

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.