gpt-neox icon indicating copy to clipboard operation
gpt-neox copied to clipboard

Unable to install dependencies: No matching distribution found for triton==0.4.2

Open tsndr opened this issue 2 years ago • 4 comments

Describe the bug It seems like there's an issue with the dependencies.

Error Output
$ pip install -r requirements/requirements.txt 
Defaulting to user installation because normal site-packages is not writeable
Collecting deepspeed
  Using cached deepspeed-0.3.15+eb7f5cf-py3-none-any.whl
Collecting einops==0.3.0
  Using cached einops-0.3.0-py2.py3-none-any.whl (25 kB)
Collecting ftfy==6.0.1
  Using cached ftfy-6.0.1-py3-none-any.whl
Collecting lm_dataformat==0.0.20
  Using cached lm_dataformat-0.0.20-py3-none-any.whl (5.8 kB)
Collecting lm_eval==0.2.0
  Using cached lm_eval-0.2.0-py3-none-any.whl (143 kB)
Collecting mpi4py==3.0.3
  Using cached mpi4py-3.0.3.tar.gz (1.4 MB)
  Preparing metadata (setup.py) ... done
Collecting numpy==1.21.0
  Using cached numpy-1.21.0-cp310-cp310-linux_x86_64.whl
Collecting pybind11==2.6.2
  Using cached pybind11-2.6.2-py2.py3-none-any.whl (191 kB)
Collecting regex
  Using cached regex-2022.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (763 kB)
Collecting sentencepiece
  Using cached sentencepiece-0.1.96-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)
Collecting six
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting tokenizers==0.10.2
  Using cached tokenizers-0.10.2.tar.gz (211 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting transformers~=4.16.0
  Using cached transformers-4.16.2-py3-none-any.whl (3.5 MB)
Collecting wandb==0.10.28
  Using cached wandb-0.10.28-py2.py3-none-any.whl (2.1 MB)
Collecting wcwidth
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting zstandard
  Using cached zstandard-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB)
Collecting ujson
  Using cached ujson-5.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45 kB)
Collecting jsonlines
  Using cached jsonlines-3.0.0-py3-none-any.whl (8.5 kB)
  Using cached jsonlines-2.0.0-py3-none-any.whl (6.3 kB)
Collecting scikit-learn>=0.24.1
  Using cached scikit_learn-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.4 MB)
Collecting nagisa==0.2.7
  Using cached nagisa-0.2.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.5 MB)
Collecting rouge-score==0.0.4
  Using cached rouge_score-0.0.4-py2.py3-none-any.whl (22 kB)
Collecting black
  Using cached black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
Collecting sqlitedict==1.6.0
  Using cached sqlitedict-1.6.0.tar.gz (29 kB)
  Preparing metadata (setup.py) ... done
Collecting pycountry==20.7.3
  Using cached pycountry-20.7.3.tar.gz (10.1 MB)
  Preparing metadata (setup.py) ... done
Collecting click>=7.1
  Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting zstandard
  Using cached zstandard-0.15.2.tar.gz (1.0 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting datasets==1.15.1
  Using cached datasets-1.15.1-py3-none-any.whl (290 kB)
Collecting numexpr==2.7.2
  Using cached numexpr-2.7.2.tar.gz (97 kB)
  Preparing metadata (setup.py) ... done
Collecting pytest==6.2.3
  Using cached pytest-6.2.3-py3-none-any.whl (280 kB)
Collecting jieba==0.42.1
  Using cached jieba-0.42.1.tar.gz (19.2 MB)
  Preparing metadata (setup.py) ... done
Collecting openai==0.6.4
  Using cached openai-0.6.4.tar.gz (159 kB)
  Preparing metadata (setup.py) ... done
Collecting sacrebleu==1.5.0
  Using cached sacrebleu-1.5.0-py3-none-any.whl (65 kB)
Collecting mock==4.0.3
  Using cached mock-4.0.3-py3-none-any.whl (28 kB)
Requirement already satisfied: torch>=1.7 in /home/toby/.local/lib/python3.10/site-packages (from lm_eval==0.2.0->-r requirements/requirements.txt (line 5)) (1.11.0)
Collecting best-download==0.0.9
  Using cached best_download-0.0.9-py3-none-any.whl (6.5 kB)
Collecting tqdm-multiprocess==0.0.11
  Using cached tqdm_multiprocess-0.0.11-py3-none-any.whl (9.8 kB)
Collecting pytablewriter==0.58.0
  Using cached pytablewriter-0.58.0-py3-none-any.whl (96 kB)
Collecting requests<3,>=2.0.0
  Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting GitPython>=1.0.0
  Using cached GitPython-3.1.27-py3-none-any.whl (181 kB)
Collecting shortuuid>=0.5.0
  Using cached shortuuid-1.0.9-py3-none-any.whl (9.4 kB)
Collecting python-dateutil>=2.6.1
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting subprocess32>=3.5.3
  Using cached subprocess32-3.5.4.tar.gz (97 kB)
  Preparing metadata (setup.py) ... done
Collecting configparser>=3.8.1
  Using cached configparser-5.2.0-py3-none-any.whl (19 kB)
Collecting protobuf>=3.12.0
  Using cached protobuf-4.21.1-cp37-abi3-manylinux2014_x86_64.whl (407 kB)
Collecting PyYAML
  Using cached PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)
Collecting promise<3,>=2.0
  Using cached promise-2.3.tar.gz (19 kB)
  Preparing metadata (setup.py) ... done
Collecting docker-pycreds>=0.4.0
  Using cached docker_pycreds-0.4.0-py2.py3-none-any.whl (9.0 kB)
Collecting pathtools
  Using cached pathtools-0.1.2.tar.gz (11 kB)
  Preparing metadata (setup.py) ... done
Collecting psutil>=5.0.0
  Using cached psutil-5.9.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (282 kB)
Collecting sentry-sdk>=0.4.0
  Using cached sentry_sdk-1.5.12-py2.py3-none-any.whl (145 kB)
Requirement already satisfied: tqdm in /home/toby/.local/lib/python3.10/site-packages (from best-download==0.0.9->lm_eval==0.2.0->-r requirements/requirements.txt (line 5)) (4.64.0)
Collecting rehash
  Using cached rehash-1.0.0-py2.py3-none-any.whl (8.7 kB)
Collecting xxhash
  Using cached xxhash-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (211 kB)
Collecting pyarrow!=4.0.0,>=1.0.0
  Using cached pyarrow-8.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.4 MB)
Collecting multiprocess
  Using cached multiprocess-0.70.13-py310-none-any.whl (133 kB)
Collecting aiohttp
  Using cached aiohttp-3.8.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.2 MB)
Collecting fsspec[http]>=2021.05.0
  Using cached fsspec-2022.5.0-py3-none-any.whl (140 kB)
Collecting dill
  Using cached dill-0.3.5.1-py2.py3-none-any.whl (95 kB)
Collecting pandas
  Using cached pandas-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB)
Collecting huggingface-hub<1.0.0,>=0.1.0
  Using cached huggingface_hub-0.7.0-py3-none-any.whl (86 kB)
Collecting packaging
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting DyNet38
  Using cached dyNET38-2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB)
Collecting tcolorpy<1,>=0.0.5
  Using cached tcolorpy-0.1.2-py3-none-any.whl (7.9 kB)
Collecting tabledata<2,>=1.1.3
  Using cached tabledata-1.3.0-py3-none-any.whl (11 kB)
Collecting msgfy<1,>=0.1.0
  Using cached msgfy-0.2.0-py3-none-any.whl (4.3 kB)
Collecting mbstrdecoder<2,>=1.0.0
  Using cached mbstrdecoder-1.1.0-py3-none-any.whl (7.8 kB)
Requirement already satisfied: setuptools>=38.3.0 in /usr/lib/python3.10/site-packages (from pytablewriter==0.58.0->lm_eval==0.2.0->-r requirements/requirements.txt (line 5)) (62.3.2)
Collecting pathvalidate<3,>=2.3.0
  Using cached pathvalidate-2.5.0-py3-none-any.whl (19 kB)
Collecting DataProperty<2,>=0.50.0
  Using cached DataProperty-0.55.0-py3-none-any.whl (26 kB)
Collecting typepy[datetime]<2,>=1.1.1
  Using cached typepy-1.3.0-py3-none-any.whl (31 kB)
Collecting py>=1.8.2
  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting iniconfig
  Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
Collecting pluggy<1.0.0a1,>=0.12
  Using cached pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
Collecting attrs>=19.2.0
  Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting toml
  Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting absl-py
  Using cached absl_py-1.1.0-py3-none-any.whl (123 kB)
Collecting nltk
  Using cached nltk-3.7-py3-none-any.whl (1.5 MB)
Collecting portalocker
  Using cached portalocker-2.4.0-py2.py3-none-any.whl (16 kB)
Collecting colorama
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting tensorboardX==1.8
  Using cached tensorboardX-1.8-py2.py3-none-any.whl (216 kB)
Collecting ninja
  Using cached ninja-1.10.2.3-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (108 kB)
INFO: pip is looking at multiple versions of zstandard to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of tqdm-multiprocess to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sqlitedict to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sacrebleu to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of rouge-score to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pytest to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pytablewriter to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pycountry to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of openai to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of numexpr to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of nagisa to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of mock to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of jsonlines to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of jieba to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of datasets to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of best-download to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of wandb to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of tokenizers to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pybind11 to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of numpy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of mpi4py to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of lm-eval to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of lm-dataformat to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of ftfy to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of einops to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement triton==0.4.2 (from deepspeed) (from versions: 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0)
ERROR: No matching distribution found for triton==0.4.2

To Reproduce Steps to reproduce the behavior:

  1. git clone [email protected]:EleutherAI/gpt-neox.git
  2. pip install torch
  3. pip install -r requirements/requirements.txt
  4. Error happenes

Expected behavior That the installation just works.

Environment (please complete the following information):

Neofetch output
                   -`                    [email protected] 
                  .o+`                   --------------- 
                 `ooo/                   OS: Arch Linux x86_64 
                `+oooo:                  Kernel: 5.18.1-arch1-1 
               `+oooooo:                 Uptime: 23 mins 
               -+oooooo+:                Packages: 1365 (pacman) 
             `/:-:++oooo+:               Shell: bash 5.1.16 
            `/++++/+++++++:              Terminal: /dev/pts/1 
           `/++++++++++++++:             CPU: Intel i9-9900KS (16) @ 5.000GHz 
          `/+++ooooooooooooo/`           GPU: NVIDIA GeForce RTX 3090 Ti 
         ./ooosssso++osssssso+`          Memory: 293MiB / 32011MiB 
        .oossssso-````/ossssss+`
       -osssssso.      :ssssssso.                                
      :osssssss/        osssso+++.                               
     /ossssssss/        +ssssooo/-
   `/ossssso+/:-        -:/+osssso+-
  `+sso+:-`                 `.-/+oso:
 `++:.                           `-/+/
 .`                                 `/

tsndr avatar Jun 07 '22 08:06 tsndr

This appears to be a recurring issue with Triton :(

I will leave this issue open for increased visibility until it is resolved, but please see the linked issue for updates + to report related issues.

StellaAthena avatar Jun 07 '22 18:06 StellaAthena

any workaround?

huey2531 avatar Jun 08 '22 22:06 huey2531

ERROR: Could not find a version that satisfies the requirement triton==0.4.2 (from versions: 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0)
ERROR: No matching distribution found for triton==0.4.2

huey2531 avatar Jun 08 '22 22:06 huey2531

Have you all checked your python version is compatible with triton==0.4.2? Try installing python 3.9 first.

jdagdelen avatar Jul 14 '22 02:07 jdagdelen

Hi, is there any workaround/resolution to this issue? I am facing the same issue. I have python 3.10.4

pujari-rajkumar avatar Sep 06 '22 02:09 pujari-rajkumar

There is no triton library above 0.3 for Python 3.10. Try Ubuntu 20.04 + Python 3.8, 3.9

tonsOfStu avatar Sep 17 '22 10:09 tonsOfStu

Thank you, I switched to Python 3.8 and I could install the required version.

pujari-rajkumar avatar Sep 17 '22 15:09 pujari-rajkumar

There is no triton library above 0.3 for Python 3.10. Try Ubuntu 20.04 + Python 3.8, 3.9

I'll update the README to specify that Python 3.8 or 3.9 is required (IIRC that part was written before Python 3.10 came out). It seems like this will close the issue?

StellaAthena avatar Sep 18 '22 14:09 StellaAthena

Yes, this should work .. for now. The latest triton releases do not have anything for Python 3.10 or for Windows (I tried that too). I don't see anything being done for 3.10 on the new triton 2 as well.

tonsOfStu avatar Sep 18 '22 17:09 tonsOfStu

This error has resurfaced for me: ERROR: Could not find a version that satisfies the requirement triton==0.4.2 (from deepspeed) (from versions: 2.0.0.dev20221030, 2.0.0.dev20221031, 2.0.0.dev20221101, 2.0.0.dev20221103, 2.0.0.dev20221105, 2.0.0.dev20221117, 2.0.0.dev20221120, 2.0.0.dev20221202). ERROR: No matching distribution found for triton==0.4.2 Using miniconda and Ubuntu 22.04.1 LTS. Python version 3.10.8

zeitsmatt avatar Jan 13 '23 17:01 zeitsmatt

@zeitsmatt I’m sorry, this is unfortunately out of our hands. We don’t maintain Triton and cannot get Triton to support Python 3.10 any quicker

StellaAthena avatar Jan 15 '23 23:01 StellaAthena

Looks like support is inbound:

image

jabbera avatar Jan 30 '23 01:01 jabbera

I meet this same error, and solved this by changing my python version to 3.9, record here.

triton is currently not support python3.10, and not support windows, so we need to install python3.9 and linux. the current ubuntu22.04 version have python3.10 by default, to change this, firstly use deadsnakes ppa so that we can install python3.9 using apt, you may need this command: add-apt-repository ppa:deadsnakes/ppa apt-get install python3.9 then we use update-alternatives to change the python version between 3.9 and 3.10. there are tutorials try to google it. you may need these command when you meet python3.9 pip installation problems: apt-get install python3.9-distutils remember to upgrade pip to pip-23 when you begin to install any pip resources. then with python3.9, we can install triton now. if you want to change back to python3.10 at any time, using this command: update-alternatives --config python we need to save python3.10 version because apt-get command runs well under python3.10, but may meet error when using python3.9, so whenever you are using apt-get to install anything, change back to python3.10, after that ,change to python3.9 for running. if you meet the mpi4py problems in the following step of requirements installing, run this command (using apt-get under python3.10): apt-get install python3.9-dev

this is the solution of mine.

digits122 avatar Feb 12 '23 13:02 digits122