scdl-org / scdl

Soundcloud Music Downloader
GNU General Public License v2.0
3.3k stars 331 forks source link

AttributeError: module 'dateutil.parser' has no attribute 'isoparse' #423

Closed ronilaukkarinen closed 2 years ago

ronilaukkarinen commented 2 years ago
$ scdl -l "https://soundcloud.com/clubhouseband/kyra-the-midnight-remix"
Traceback (most recent call last):
  File "/home/rolle/.local/bin/scdl", line 5, in <module>
    from scdl.scdl import main
  File "/home/rolle/.local/lib/python3.7/site-packages/scdl/scdl.py", line 99, in <module>
    from soundcloud import (BasicAlbumPlaylist, BasicTrack, MiniTrack, SoundCloud,
  File "/home/rolle/.local/lib/python3.7/site-packages/soundcloud/__init__.py", line 1, in <module>
    from soundcloud.resource.aliases import (Like, RepostItem, SearchItem,
  File "/home/rolle/.local/lib/python3.7/site-packages/soundcloud/resource/aliases.py", line 3, in <module>
    from soundcloud.resource.like import PlaylistLike, TrackLike
  File "/home/rolle/.local/lib/python3.7/site-packages/soundcloud/resource/like.py", line 7, in <module>
    from soundcloud.resource.base import BaseData
  File "/home/rolle/.local/lib/python3.7/site-packages/soundcloud/resource/base.py", line 8, in <module>
    @dataclass
  File "/home/rolle/.local/lib/python3.7/site-packages/soundcloud/resource/base.py", line 13, in BaseData
    datetime.datetime: dateutil.parser.isoparse
AttributeError: module 'dateutil.parser' has no attribute 'isoparse'
$ python3 --version
Python 3.7.3

$ pip3 install --user python-dateutil
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
/usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
Requirement already satisfied: python-dateutil in /home2/rolle/.local/lib/python3.7/site-packages (2.5.3)
Requirement already satisfied: six>=1.5 in /home2/rolle/.local/lib/python3.7/site-packages (from python-dateutil) (1.10.0)
7x11x13 commented 2 years ago

Looks like the isoparse function was added in python-dateutil v2.7.0 and you have v2.5.3

You should update the installed version with $ pip3 install --user --upgrade python-dateutil

ronilaukkarinen commented 2 years ago

Nice! It works now. Thank you so much!