Debian Bug report logs - #953240
bpython: cannot import dateparser module

version graph

Package: bpython; Maintainer for bpython is Sebastian Ramacher <[email protected]>; Source for bpython is src:bpython (PTS, buildd, popcon).

Reported by: Slavko <[email protected]>

Date: Fri, 6 Mar 2020 11:33:02 UTC

Severity: normal

Tags: moreinfo

Found in version bpython/0.18-3

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Sebastian Ramacher <[email protected]>:
Bug#953240; Package bpython. (Fri, 06 Mar 2020 11:33:04 GMT) (full text, mbox, link).


Acknowledgement sent to Slavko <[email protected]>:
New Bug report received and forwarded. Copy sent to Sebastian Ramacher <[email protected]>. (Fri, 06 Mar 2020 11:33:04 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Slavko <[email protected]>
To: [email protected]
Subject: bpython: cannot import dateparser module
Date: Fri, 6 Mar 2020 12:31:10 +0100
[Message part 1 (text/plain, inline)]
Package: bpython
Version: 0.18-3

I recently want to use dateparser module in bpython, which produces
this:

bpython version 0.18 on top of Python 3.7.6 /usr/bin/python3
>>> import dateparser
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    import dateparser
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in
_find_and_load_unlocked File "<frozen importlib._bootstrap>", line 668,
in _load_unlocked File "<frozen importlib._bootstrap>", line 638, in
_load_backward_compatible File
"/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py", line
243, in load_module module = self.loader.load_module(name) File
"/usr/lib/python3/dist-packages/dateparser/__init__.py", line 4, in
<module> from .date import DateDataParser File "<frozen
importlib._bootstrap>", line 983, in _find_and_load File "<frozen
importlib._bootstrap>", line 967, in _find_and_load_unlocked File
"<frozen importlib._bootstrap>", line 668, in _load_unlocked File
"<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
line 243, in load_module module = self.loader.load_module(name) File
"/usr/lib/python3/dist-packages/dateparser/date.py", line 13, in
<module> from dateparser.date_parser import date_parser File "<frozen
importlib._bootstrap>", line 983, in _find_and_load File "<frozen
importlib._bootstrap>", line 967, in _find_and_load_unlocked File
"<frozen importlib._bootstrap>", line 668, in _load_unlocked File
"<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
line 243, in load_module module = self.loader.load_module(name) File
"/usr/lib/python3/dist-packages/dateparser/date_parser.py", line 11, in
<module> from .parser import parse File "<frozen
importlib._bootstrap>", line 983, in _find_and_load File "<frozen
importlib._bootstrap>", line 967, in _find_and_load_unlocked File
"<frozen importlib._bootstrap>", line 668, in _load_unlocked File
"<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
line 243, in load_module module = self.loader.load_module(name) File
"/usr/lib/python3/dist-packages/dateparser/parser.py", line 10, in
<module> from dateparser.utils.strptime import strptime File "<frozen
importlib._bootstrap>", line 983, in _find_and_load File "<frozen
importlib._bootstrap>", line 967, in _find_and_load_unlocked File
"<frozen importlib._bootstrap>", line 668, in _load_unlocked File
"<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
line 243, in load_module module = self.loader.load_module(name) File
"/usr/lib/python3/dist-packages/dateparser/utils/strptime.py", line 69,
in <module> __strptime = patch_strptime() File
"/usr/lib/python3/dist-packages/dateparser/utils/strptime.py", line 40,
in patch_strptime _strptime_spec.loader.exec_module(_strptime)
AttributeError: 'ImportLoader' object has no attribute 'exec_module'

But the module works in raw python (the same machine):

python3
Python 3.7.6 (default, Jan 19 2020, 22:34:52) 
[GCC 9.2.1 20200117] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dateparser
>>> dateparser.parse('12/12/12')
datetime.datetime(2012, 12, 12, 0, 0)
>>> 

regards

-- 
Slavko
http://slavino.sk
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to [email protected]:
Bug#953240; Package bpython. (Thu, 12 Mar 2020 19:54:03 GMT) (full text, mbox, link).


Acknowledgement sent to Sebastian Ramacher <[email protected]>:
Extra info received and forwarded to list. (Thu, 12 Mar 2020 19:54:03 GMT) (full text, mbox, link).


Message #10 received at [email protected] (full text, mbox, reply):

From: Sebastian Ramacher <[email protected]>
To: Slavko <[email protected]>, [email protected]
Subject: Re: Bug#953240: bpython: cannot import dateparser module
Date: Thu, 12 Mar 2020 20:51:29 +0100
[Message part 1 (text/plain, inline)]
Control: tags -1 + moreinfo

Hi

On 2020-03-06 12:31:10, Slavko wrote:
> Package: bpython
> Version: 0.18-3
> 
> I recently want to use dateparser module in bpython, which produces
> this:
> 
> bpython version 0.18 on top of Python 3.7.6 /usr/bin/python3
> >>> import dateparser
> Traceback (most recent call last):
>   File "<input>", line 1, in <module>
>     import dateparser
>   File "<frozen importlib._bootstrap>", line 983, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 967, in
> _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 668,
> in _load_unlocked File "<frozen importlib._bootstrap>", line 638, in
> _load_backward_compatible File
> "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py", line
> 243, in load_module module = self.loader.load_module(name) File
> "/usr/lib/python3/dist-packages/dateparser/__init__.py", line 4, in
> <module> from .date import DateDataParser File "<frozen
> importlib._bootstrap>", line 983, in _find_and_load File "<frozen
> importlib._bootstrap>", line 967, in _find_and_load_unlocked File
> "<frozen importlib._bootstrap>", line 668, in _load_unlocked File
> "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
> File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
> line 243, in load_module module = self.loader.load_module(name) File
> "/usr/lib/python3/dist-packages/dateparser/date.py", line 13, in
> <module> from dateparser.date_parser import date_parser File "<frozen
> importlib._bootstrap>", line 983, in _find_and_load File "<frozen
> importlib._bootstrap>", line 967, in _find_and_load_unlocked File
> "<frozen importlib._bootstrap>", line 668, in _load_unlocked File
> "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
> File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
> line 243, in load_module module = self.loader.load_module(name) File
> "/usr/lib/python3/dist-packages/dateparser/date_parser.py", line 11, in
> <module> from .parser import parse File "<frozen
> importlib._bootstrap>", line 983, in _find_and_load File "<frozen
> importlib._bootstrap>", line 967, in _find_and_load_unlocked File
> "<frozen importlib._bootstrap>", line 668, in _load_unlocked File
> "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
> File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
> line 243, in load_module module = self.loader.load_module(name) File
> "/usr/lib/python3/dist-packages/dateparser/parser.py", line 10, in
> <module> from dateparser.utils.strptime import strptime File "<frozen
> importlib._bootstrap>", line 983, in _find_and_load File "<frozen
> importlib._bootstrap>", line 967, in _find_and_load_unlocked File
> "<frozen importlib._bootstrap>", line 668, in _load_unlocked File
> "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
> File "/usr/lib/python3/dist-packages/bpython/curtsiesfrontend/repl.py",
> line 243, in load_module module = self.loader.load_module(name) File
> "/usr/lib/python3/dist-packages/dateparser/utils/strptime.py", line 69,
> in <module> __strptime = patch_strptime() File
> "/usr/lib/python3/dist-packages/dateparser/utils/strptime.py", line 40,
> in patch_strptime _strptime_spec.loader.exec_module(_strptime)
> AttributeError: 'ImportLoader' object has no attribute 'exec_module'

I've installed python3-dateparser and tried to import dateparser in
bpython3 and everything worked fine. Do you have anything else installed
that might interfere with bpython?

Best

> But the module works in raw python (the same machine):
> 
> python3
> Python 3.7.6 (default, Jan 19 2020, 22:34:52) 
> [GCC 9.2.1 20200117] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import dateparser
> >>> dateparser.parse('12/12/12')
> datetime.datetime(2012, 12, 12, 0, 0)
> >>> 
> 
> regards
> 
> -- 
> Slavko
> http://slavino.sk



-- 
Sebastian Ramacher
[signature.asc (application/pgp-signature, inline)]

Added tag(s) moreinfo. Request was from Sebastian Ramacher <[email protected]> to [email protected]. (Thu, 12 Mar 2020 19:54:03 GMT) (full text, mbox, link).


Information forwarded to [email protected], Sebastian Ramacher <[email protected]>:
Bug#953240; Package bpython. (Fri, 13 Mar 2020 13:27:02 GMT) (full text, mbox, link).


Acknowledgement sent to Slavko <[email protected]>:
Extra info received and forwarded to list. Copy sent to Sebastian Ramacher <[email protected]>. (Fri, 13 Mar 2020 13:27:02 GMT) (full text, mbox, link).


Message #17 received at [email protected] (full text, mbox, reply):

From: Slavko <[email protected]>
To: [email protected]
Subject: Re: Bug#953240: bpython: cannot import dateparser module
Date: Fri, 13 Mar 2020 13:53:34 +0100
[Message part 1 (text/plain, inline)]
Hi,

Dňa Thu, 12 Mar 2020 20:51:29 +0100 Sebastian Ramacher
<[email protected]> napísal:

> I've installed python3-dateparser and tried to import dateparser in
> bpython3 and everything worked fine. Do you have anything else
> installed that might interfere with bpython?

I have a lot of python packages, no body know which one can (or
cannot) to interact and IMO list them will not be useful yet.

I tried it today in one existing VBox VM with lesser python's
packages set, but with the same result. I will try to identify problem
on fresh VM in this weekend.

-- 
Slavko
http://slavino.sk
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to [email protected], Sebastian Ramacher <[email protected]>:
Bug#953240; Package bpython. (Fri, 13 Mar 2020 14:51:02 GMT) (full text, mbox, link).


Acknowledgement sent to Slavko <[email protected]>:
Extra info received and forwarded to list. Copy sent to Sebastian Ramacher <[email protected]>. (Fri, 13 Mar 2020 14:51:02 GMT) (full text, mbox, link).


Message #22 received at [email protected] (full text, mbox, reply):

From: Slavko <[email protected]>
To: [email protected]
Subject: Re: Bug#953240: bpython: cannot import dateparser module
Date: Fri, 13 Mar 2020 15:46:52 +0100
[Message part 1 (text/plain, inline)]
Hi,

finally it was more easy than i expect. I created fresh testing LXC
container, with:

lxc-create --template debian --name bpython -- -r testing --flush-cache

I install only mc, aptitude & bash-completion and then:

apt install bpython python3-dateparser

And after import dateparser in bpython, the traceback appears again,
thus no other python packages are involved, only installed dependencies:

aptitude search ~ipython -F "%v %p"
0.18-3         bpython
3.7.5-3        libpython3-stdlib
3.7.6-1+b1     libpython3.7-minimal
3.7.6-1+b1     libpython3.7-stdlib
3.7.5-3        python3
1.8.1-1.3      python3-argcomplete
0.26.2-1.1     python3-argh
1.6-3          python3-blessings
2019.11.28-1   python3-certifi
3.0.4-4        python3-chardet
0.3.1-1        python3-curtsies
0.7.2-1        python3-dateparser
2.7.3-3        python3-dateutil
3.8.2-2        python3-distutils
0.4.15-4       python3-greenlet
2.6-2          python3-idna
3.8.2-2        python3-lib2to3
3.7.5-3        python3-minimal
0.1.2-4        python3-pathtools
44.0.0-1       python3-pkg-resources
2.3.1+dfsg-1   python3-pygments
0.1.20190819-2 python3-regex
2.22.0-2       python3-requests
44.0.0-1       python3-setuptools
1.14.0-2       python3-six
2019.3-1       python3-tz
2.1~b1-2       python3-tzlocal
1.25.8-1       python3-urllib3
0.9.0-3        python3-watchdog
0.1.8+dfsg1-3  python3-wcwidth
5.3-2          python3-yaml
3.7.6-1+b1     python3.7
3.7.6-1+b1     python3.7-minimal

all are from official repo only:

cat /etc/apt/sources.list
deb http://deb.debian.org/debian          testing main contrib non-free
deb http://security.debian.org   testing-security main contrib non-free

The only difference, which i found is this (from dataparser source),
without any other imports:

in bpython:

>>> import importlib.util
>>> importlib.util.find_spec('_strptime')
ModuleSpec(name='_strptime', loader=<bpython.curtsiesfrontend.repl.ImportLoader object at 0x7fb431231b50>)

in python3:

>>> import importlib.util
>>> importlib.util.find_spec('_strptime')
ModuleSpec(name='_strptime', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f0e14b3f790>, origin='/usr/lib/python3.7/_strptime.py')

As you can see, in bpython is used bpython's ImportLoader object, while
in pure python it is SourceFileLoader.

regards

-- 
Slavko
http://slavino.sk
[Message part 2 (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 15:23:53 2025; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.