-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Description
kaggle.cli will not import when installed in a fresh Python 3.11 environment, failing on a missing dependency:
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.14/x64/bin/kaggle", line 3, in <module>
from kaggle.cli import main
File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/kaggle/__init__.py", line 4, in <module>
from kaggle.api.kaggle_api_extended import KaggleApi
File "/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/kaggle/api/kaggle_api_extended.py", line 36, in <module>
from dateutil.relativedelta import relativedelta
ModuleNotFoundError: No module named 'dateutil'
This occurs in a configuration I have been repeating on GitHub Actions regularly without issue with version 1.7.4.5, but no longer works since version 1.8.0 became available. The job logs indicate installing the package produced no attempt to collect/download/install python-dateutil as it did before.
python -m pip install --upgrade pip
pip install kaggle
shell: /usr/bin/bash -e {0}
env:
KAGGLE_USERNAME: ***
KAGGLE_KEY: ***
pythonLocation: /opt/hostedtoolcache/Python/3.11.14/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.14/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.14/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.14/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.14/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.14/x64/lib
Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages (25.3)
Collecting kaggle
Downloading kaggle-1.8.0-py3-none-any.whl.metadata (16 kB)
Collecting black>=24.10.0 (from kaggle)
Downloading black-25.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (85 kB)
Collecting bleach (from kaggle)
Downloading bleach-6.3.0-py3-none-any.whl.metadata (31 kB)
Collecting kagglesdk (from kaggle)
Downloading kagglesdk-0.1.13-py3-none-any.whl.metadata (13 kB)
Collecting mypy>=1.15.0 (from kaggle)
Downloading mypy-1.18.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.2 kB)
Collecting protobuf (from kaggle)
Downloading protobuf-6.33.1-cp39-abi3-manylinux2014_x86_64.whl.metadata (593 bytes)
Collecting python-slugify (from kaggle)
Downloading python_slugify-8.0.4-py2.py3-none-any.whl.metadata (8.5 kB)
Collecting requests (from kaggle)
Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
Requirement already satisfied: setuptools>=21.0.0 in /opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages (from kaggle) (79.0.1)
Collecting six>=1.10 (from kaggle)
Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting tqdm (from kaggle)
Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)
Collecting types-requests (from kaggle)
Downloading types_requests-2.32.4.20250913-py3-none-any.whl.metadata (2.0 kB)
Collecting types-tqdm (from kaggle)
Downloading types_tqdm-4.67.0.20250809-py3-none-any.whl.metadata (1.7 kB)
Collecting urllib3>=1.15.1 (from kaggle)
Downloading urllib3-2.5.0-py3-none-any.whl.metadata (6.5 kB)
Collecting click>=8.0.0 (from black>=24.10.0->kaggle)
Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
Collecting mypy-extensions>=0.4.3 (from black>=24.10.0->kaggle)
Downloading mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)
Collecting packaging>=22.0 (from black>=24.10.0->kaggle)
Downloading packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting pathspec>=0.9.0 (from black>=24.10.0->kaggle)
Downloading pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)
Collecting platformdirs>=2 (from black>=24.10.0->kaggle)
Downloading platformdirs-4.5.0-py3-none-any.whl.metadata (12 kB)
Collecting pytokens>=0.3.0 (from black>=24.10.0->kaggle)
Downloading pytokens-0.3.0-py3-none-any.whl.metadata (2.0 kB)
Collecting typing_extensions>=4.6.0 (from mypy>=1.15.0->kaggle)
Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Collecting webencodings (from bleach->kaggle)
Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB)
Collecting text-unidecode>=1.3 (from python-slugify->kaggle)
Downloading text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
Collecting charset_normalizer<4,>=2 (from requests->kaggle)
Downloading charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (37 kB)
Collecting idna<4,>=2.5 (from requests->kaggle)
Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB)
Collecting certifi>=2017.4.17 (from requests->kaggle)
Downloading certifi-2025.11.12-py3-none-any.whl.metadata (2.5 kB)
Downloading kaggle-1.8.0-py3-none-any.whl (256 kB)
Downloading black-25.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 80.7 MB/s 0:00:00
Downloading click-8.3.1-py3-none-any.whl (108 kB)
Downloading mypy-1.18.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (13.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.2/13.2 MB 193.3 MB/s 0:00:00
Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)
Downloading packaging-25.0-py3-none-any.whl (66 kB)
Downloading pathspec-0.12.1-py3-none-any.whl (31 kB)
Downloading platformdirs-4.5.0-py3-none-any.whl (18 kB)
Downloading pytokens-0.3.0-py3-none-any.whl (12 kB)
Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
Downloading urllib3-2.5.0-py3-none-any.whl (129 kB)
Downloading bleach-6.3.0-py3-none-any.whl (164 kB)
Downloading kagglesdk-0.1.13-py3-none-any.whl (159 kB)
Downloading protobuf-6.33.1-cp39-abi3-manylinux2014_x86_64.whl (323 kB)
Downloading python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)
Downloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Downloading requests-2.32.5-py3-none-any.whl (64 kB)
Downloading charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (151 kB)
Downloading idna-3.11-py3-none-any.whl (71 kB)
Downloading certifi-2025.11.12-py3-none-any.whl (159 kB)
Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)
Downloading types_requests-2.32.4.20250913-py3-none-any.whl (20 kB)
Downloading types_tqdm-4.67.0.20250809-py3-none-any.whl (24 kB)
Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Installing collected packages: webencodings, text-unidecode, urllib3, typing_extensions, tqdm, six, pytokens, python-slugify, protobuf, platformdirs, pathspec, packaging, mypy-extensions, idna, click, charset_normalizer, certifi, bleach, types-requests, requests, mypy, black, types-tqdm, kagglesdk, kaggle
Successfully installed black-25.11.0 bleach-6.3.0 certifi-2025.11.12 charset_normalizer-3.4.4 click-8.3.1 idna-3.11 kaggle-1.8.0 kagglesdk-0.1.13 mypy-1.18.2 mypy-extensions-1.1.0 packaging-25.0 pathspec-0.12.1 platformdirs-4.5.0 protobuf-6.33.1 python-slugify-8.0.4 pytokens-0.3.0 requests-2.32.5 six-1.17.0 text-unidecode-1.3 tqdm-4.67.1 types-requests-2.32.4.20250913 types-tqdm-4.67.0.20250809 typing_extensions-4.15.0 urllib3-2.5.0 webencodings-0.5.1
Manually installing python-dateutil of course works as a workaround but the package should be configured to take care of this.
Metadata
Metadata
Assignees
Labels
No labels