How to enable a pure Python module instead of a C accelerated version for a stdlib module such as datetime -


some stdlib modules (such datetime, decimal, io) have both c , pure python implementations e.g., see pep 399 -- pure python/c accelerator module compatibility requirements.

it might desirable disable c accelerated version.

for decimal, io modules can import _pydecimal , _pyio modules directly. how access pure python datetime implementation?

the c accelarated version (_datetime) enabled in datetime.py using from _datetime import * , therefore enough cause importerror , reload datetime module in case has been imported earlier:

import importlib import sys  sys.modules['_datetime'] = none # cause importerror datetime = importlib.reload(importlib.import_module('datetime'))  

test:

>>> datetime.timedelta(1<<30) traceback (most recent call last):   file "<stdin>", line 1, in <module>   file "/usr/lib/python3.4/datetime.py", line 430, in __new__     raise overflowerror("timedelta # of days large: %d" % d) overflowerror: timedelta # of days large: 1073741824 

the traceback shows pure python version used.