google-research / timesfm

TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.
https://research.google/blog/a-decoder-only-foundation-model-for-time-series-forecasting/
Apache License 2.0
3.04k stars 228 forks source link

dependency conflics during packages instalation #81

Open magexo opened 5 days ago

magexo commented 5 days ago

Its not possible to install packages due dependency conflicts.

This happens after clean git clone and conda evn create.

`file@Filips-MacBook-Air timesfm % conda env create --file=environment_cpu.yml
Channels:

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Installing pip dependencies: \ Ran pip subprocess with arguments:
['/Users/file/miniconda3/envs/tfm_env/bin/python', '-m', 'pip', 'install', '-U', '-r', '/Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt', '--exists-action=b']
Pip subprocess output:
Collecting utilsforecast (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 2))
Using cached utilsforecast-0.1.12-py3-none-any.whl.metadata (7.5 kB)
Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3))
Using cached praxis-1.4.0-py3-none-any.whl.metadata (1.2 kB)
Collecting paxml (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 4))
Using cached paxml-1.4.0-py3-none-any.whl.metadata (1.3 kB)
Collecting jax==0.4.26 (from jax[cpu]==0.4.26->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 5))
Using cached jax-0.4.26-py3-none-any.whl.metadata (23 kB)
Collecting einshape (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 6))
Using cached einshape-1.0-py3-none-any.whl.metadata (706 bytes)
Collecting huggingface_hub[cli] (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1))
Using cached huggingface_hub-0.23.4-py3-none-any.whl.metadata (12 kB)
Collecting ml-dtypes>=0.2.0 (from jax==0.4.26->jax[cpu]==0.4.26->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 5))
Using cached ml_dtypes-0.4.0-cp310-cp310-macosx_10_9_universal2.whl.metadata (20 kB)
Collecting numpy>=1.22 (from jax==0.4.26->jax[cpu]==0.4.26->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 5))
Downloading numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl.metadata (60 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.9/60.9 kB 1.1 MB/s eta 0:00:00
Collecting opt-einsum (from jax==0.4.26->jax[cpu]==0.4.26->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 5))
Using cached opt_einsum-3.3.0-py3-none-any.whl.metadata (6.5 kB) Collecting scipy>=1.9 (from jax==0.4.26->jax[cpu]==0.4.26->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 5)) Downloading scipy-1.14.0-cp310-cp310-macosx_14_0_arm64.whl.metadata (60 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.8/60.8 kB 4.5 MB/s eta 0:00:00 Collecting jaxlib==0.4.26 (from jax[cpu]==0.4.26->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 5)) Downloading jaxlib-0.4.26-cp310-cp310-macosx_11_0_arm64.whl.metadata (1.8 kB) Collecting filelock (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) Using cached filelock-3.15.4-py3-none-any.whl.metadata (2.9 kB) Collecting fsspec>=2023.5.0 (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) Using cached fsspec-2024.6.1-py3-none-any.whl.metadata (11 kB) Requirement already satisfied: packaging>=20.9 in /Users/file/miniconda3/envs/tfm_env/lib/python3.10/site-packages (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) (24.1) Requirement already satisfied: pyyaml>=5.1 in /Users/file/miniconda3/envs/tfm_env/lib/python3.10/site-packages (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) (6.0.1) Requirement already satisfied: requests in /Users/file/miniconda3/envs/tfm_env/lib/python3.10/site-packages (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) (2.32.3) Collecting tqdm>=4.42.1 (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) Using cached tqdm-4.66.4-py3-none-any.whl.metadata (57 kB) Requirement already satisfied: typing-extensions>=3.7.4.3 in /Users/file/miniconda3/envs/tfm_env/lib/python3.10/site-packages (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) (4.12.2) Collecting InquirerPy==0.3.4 (from huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) Using cached InquirerPy-0.3.4-py3-none-any.whl.metadata (8.1 kB) Collecting pfzy<0.4.0,>=0.3.1 (from InquirerPy==0.3.4->huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) Using cached pfzy-0.3.4-py3-none-any.whl.metadata (4.9 kB) Requirement already satisfied: prompt-toolkit<4.0.0,>=3.0.1 in /Users/file/miniconda3/envs/tfm_env/lib/python3.10/site-packages (from InquirerPy==0.3.4->huggingface_hub[cli]->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 1)) (3.0.47) Collecting pandas>=1.1.1 (from utilsforecast->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 2)) Downloading pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl.metadata (19 kB) Collecting absl-py==1.4.0 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached absl_py-1.4.0-py3-none-any.whl.metadata (2.3 kB) Collecting chex>=0.1.85 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached chex-0.1.86-py3-none-any.whl.metadata (17 kB) Collecting clu==0.0.11 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached clu-0.0.11-py3-none-any.whl.metadata (1.9 kB) Collecting einops==0.7.0 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached einops-0.7.0-py3-none-any.whl.metadata (13 kB) Collecting etils==1.7.0 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached etils-1.7.0-py3-none-any.whl.metadata (6.4 kB) Collecting fiddle==0.3.0 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached fiddle-0.3.0-py3-none-any.whl.metadata (2.3 kB) Collecting flax==0.8.2 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached flax-0.8.2-py3-none-any.whl.metadata (10 kB) Collecting jax-bitempered-loss==0.0.2 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached jax_bitempered_loss-0.0.2-py3-none-any.whl.metadata (4.0 kB) Collecting jaxtyping==0.2.28 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached jaxtyping-0.2.28-py3-none-any.whl.metadata (6.4 kB) INFO: pip is looking at multiple versions of praxis to determine which version is compatible with other requirements. This could take a while. Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-1.3.1-py3-none-any.whl.metadata (1.1 kB) Collecting absl-py (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached absl_py-2.1.0-py3-none-any.whl.metadata (2.3 kB) Collecting einops (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached einops-0.8.0-py3-none-any.whl.metadata (12 kB) Collecting fiddle==0.2.11 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached fiddle-0.2.11-py3-none-any.whl.metadata (2.2 kB) Collecting flax==0.8.1 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached flax-0.8.1-py3-none-any.whl.metadata (10 kB) Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-1.3.0-py3-none-any.whl.metadata (1.1 kB) Collecting chex==0.1.85 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached chex-0.1.85-py3-none-any.whl.metadata (17 kB) Collecting clu (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached clu-0.0.12-py3-none-any.whl.metadata (1.9 kB) Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-1.2.0-py3-none-any.whl.metadata (1.0 kB) Collecting flax (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached flax-0.8.5-py3-none-any.whl.metadata (10 kB) Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-1.1.0-1-py3-none-any.whl.metadata (1.1 kB) Collecting clu==0.0.9 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached clu-0.0.9-py3-none-any.whl.metadata (2.0 kB) Collecting einops==0.6.1 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached einops-0.6.1-py3-none-any.whl.metadata (12 kB) Collecting etils==1.4.1 (from etils[enp,epath,epy]==1.4.1->praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached etils-1.4.1-py3-none-any.whl.metadata (5.9 kB) Collecting flax==0.7.2 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached flax-0.7.2-py3-none-any.whl.metadata (10.0 kB) Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-1.0.0-2-py3-none-any.whl.metadata (951 bytes) Collecting clu==0.0.8 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached clu-0.0.8-py3-none-any.whl.metadata (2.0 kB) Collecting einops==0.6.0 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached einops-0.6.0-py3-none-any.whl.metadata (12 kB) Collecting fiddle==0.2.6 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached fiddle-0.2.6-py3-none-any.whl.metadata (2.1 kB) Collecting flax==0.6.8 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached flax-0.6.8-py3-none-any.whl.metadata (9.9 kB) Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-0.4.0-py3-none-any.whl.metadata (776 bytes) Using cached praxis-0.3.0-py3-none-any.whl.metadata (830 bytes) INFO: pip is still looking at multiple versions of praxis to determine which version is compatible with other requirements. This could take a while. Using cached praxis-0.2.1-py3-none-any.whl.metadata (840 bytes) Collecting fiddle==0.2.5 (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached fiddle-0.2.5-py3-none-any.whl.metadata (2.0 kB) Collecting praxis (from -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached praxis-0.2.0-py3-none-any.whl.metadata (828 bytes) Using cached praxis-0.1-1-py3-none-any.whl.metadata (823 bytes) Collecting fiddle-config (from praxis->-r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3)) Using cached fiddle_config-0.2.2-py3-none-any.whl.metadata (2.0 kB)

The conflict is caused by: praxis 1.4.0 depends on lingvo==0.12.7 The user requested jax==0.4.26 jax[cpu] 0.4.26 depends on jax 0.4.26 (from https://files.pythonhosted.org/packages/dc/d9/f387d9dfb2cf00f814b24e0f8bf6f4c68ae01870994dc436993fadd73563/jax-0.4.26-py3-none-any.whl (from https://pypi.org/simple/jax/) (requires-python:>=3.9)) praxis 1.3.1 depends on jax==0.4.24 The user requested jax==0.4.26 jax[cpu] 0.4.26 depends on jax 0.4.26 (from https://files.pythonhosted.org/packages/dc/d9/f387d9dfb2cf00f814b24e0f8bf6f4c68ae01870994dc436993fadd73563/jax-0.4.26-py3-none-any.whl (from https://pypi.org/simple/jax/) (requires-python:>=3.9)) praxis 1.3.0 depends on jax==0.4.24 The user requested jax==0.4.26 jax[cpu] 0.4.26 depends on jax 0.4.26 (from https://files.pythonhosted.org/packages/dc/d9/f387d9dfb2cf00f814b24e0f8bf6f4c68ae01870994dc436993fadd73563/jax-0.4.26-py3-none-any.whl (from https://pypi.org/simple/jax/) (requires-python:>=3.9)) praxis 1.2.0 depends on jax==0.4.18 The user requested jax==0.4.26 jax[cpu] 0.4.26 depends on jax 0.4.26 (from https://files.pythonhosted.org/packages/dc/d9/f387d9dfb2cf00f814b24e0f8bf6f4c68ae01870994dc436993fadd73563/jax-0.4.26-py3-none-any.whl (from https://pypi.org/simple/jax/) (requires-python:>=3.9)) praxis 1.1.0 depends on jax==0.4.14 The user requested jax==0.4.26 jax[cpu] 0.4.26 depends on jax 0.4.26 (from https://files.pythonhosted.org/packages/dc/d9/f387d9dfb2cf00f814b24e0f8bf6f4c68ae01870994dc436993fadd73563/jax-0.4.26-py3-none-any.whl (from https://pypi.org/simple/jax/) (requires-python:>=3.9)) praxis 1.0.0 depends on jax==0.4.7 praxis 0.4.0 depends on lingvo praxis 0.3.0 depends on lingvo praxis 0.2.1 depends on lingvo praxis 0.2.0 depends on lingvo praxis 0.1 depends on lingvo

To fix this you could try to:

  1. loosen the range of package versions you've specified
  2. remove package versions to allow pip attempt to solve the dependency conflict

Pip subprocess error: ERROR: Cannot install -r /Users/file/Projects/timesfm/condaenv.tokgzgl8.requirements.txt (line 3), jax==0.4.26 and jax[cpu]==0.4.26 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

failed

CondaEnvException: Pip failed

`

rajatsen91 commented 5 days ago

Unfortunately as mentioned in the installation section the package does not work on ARM architecture due to the lingvo dependency.

liubenlong commented 3 days ago

image i am not ARM ,it is X64, also error!

HuangY0 commented 1 day ago

I also have the same problem