AttributeError: module 'time' has no attribute 'clock' in Python 3.8
From the Python 3.8 doc:
The function
time.clock()
has been removed, after having been deprecated since Python 3.3: usetime.perf_counter()
ortime.process_time()
instead, depending on your requirements, to have well-defined behavior. (Contributed by Matthias Bussonnier in bpo-36895.)
Check if you are using PyCrypto, if yes, uninstall it and install PyCryptodome which is a fork of PyCrypto
PyCrypto is dead as mentioned on project issue page
Since both these libraries can coexist, it could be an issue too
pip3 uninstall PyCrypto
pip3 install -U PyCryptodome
time.clock()
was removed in 3.8 because it had platform-dependent behavior:
-
On Unix, this returns the current processor time (in seconds)
-
On Windows, this returns wall-clock time (in seconds)
# I ran this test on my dual-boot system as demonstration: print(time.clock()); time.sleep(10); print(time.clock()) # Linux: # Windows: # 0.0382 # 26.1224 # 0.0384 # 36.1566
So which function to pick instead?
-
Processor Time: This is how long this specific process spends actively being executed on the CPU. Sleep, waiting for a web request, or time when only other processes are executed will not contribute to this.
- Use
time.process_time()
- Use
-
Wall-Clock Time: This refers to how much time has passed "on a clock hanging on the wall", i.e. outside real time.
-
Use
time.perf_counter()
-
time.time()
also measures wall-clock time but can be reset, so you could go back in time -
time.monotonic()
cannot be reset (monotonic = only goes forward) but has lower precision thantime.perf_counter()
-
-
Reason: time.clock
is deprecated
Solution:
Step 1
- Just go to your C folder and search site-packages in the search bar. You will see the result like this:
-
Right click on this result marked as Red, and open file location.
-
Then look for sqlalchemy/util/compat.py file and open it. And search time.clock using ctrl+f and replace it with time.time
Step 2
- Go to your error last line and go to that directory and open that particular file.
- search time.clock using ctrl+f and replace it with time.time
Go to the the code C:\Users\Mr\anaconda3\envs\pythonProject2\Lib\site-packages\sqlalchemy\util and select compat.py and search for time.clock
in code.
Then replace time.clock
with time.time
and save it.