abaheti95 / ToxiChat

Code and data for the EMNLP 2021 paper "Just Say No: Analyzing the Stance of Neural Dialogue Generation in Offensive Contexts". Coming soon!
Creative Commons Attribution Share Alike 4.0 International
15 stars 3 forks source link

Setting up the environment #2

Open skywalker023 opened 2 years ago

skywalker023 commented 2 years ago

Hello, thanks for the awesome work! I tried to install the environment as in the README, but unfortunately, it's not working :( I've tried it on Mac and Linux, but neither worked for me.. Any suggestions?

abaheti95 commented 2 years ago

Hello. Sorry I didn't notice this issue earlier. Can you explain what step you're getting the error?

skywalker023 commented 2 years ago

Hi! Looks like there is something hardcoded in the environment.yml: https://github.com/abaheti95/ToxiChat/blob/104e60c9d88378edabd42dba94c8d2841ca94e2c/environment.yml#L256

Regardless of that line, if I run the conda env create -f environment.yml I get the following error:

Collecting package metadata (repodata.json): done
Solving environment: done
Preparing transaction: done
Verifying transaction: done
Executing transaction: / Enabling notebook extension jupyter-js-widgets/extension...
      - Validating: OK

done
Installing pip dependencies: / Ran pip subprocess with arguments:
['/home2/hyunwoo.kim/.miniconda3/envs/dialoghate/bin/python', '-m', 'pip', 'install', '-U', '-r', '/home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.dk9wcj1v.requirements.txt']
Pip subprocess output:
Collecting absl-py==0.12.0
  Using cached absl_py-0.12.0-py3-none-any.whl (129 kB)
Collecting alabaster==0.7.12
  Using cached alabaster-0.7.12-py2.py3-none-any.whl (14 kB)
Collecting antlr4-python3-runtime==4.8
  Using cached antlr4_python3_runtime-4.8-py3-none-any.whl
Collecting attrs==20.2.0
  Using cached attrs-20.2.0-py2.py3-none-any.whl (48 kB)
Collecting babel==2.9.0
  Using cached Babel-2.9.0-py2.py3-none-any.whl (8.8 MB)
Collecting blis==0.7.4
  Using cached blis-0.7.4-cp38-cp38-manylinux2014_x86_64.whl (9.8 MB)
Collecting boto3==1.16.59
  Using cached boto3-1.16.59-py2.py3-none-any.whl (130 kB)
Collecting botocore==1.19.59
  Using cached botocore-1.19.59-py2.py3-none-any.whl (7.2 MB)
Collecting cachetools==4.2.2
  Using cached cachetools-4.2.2-py3-none-any.whl (11 kB)
Collecting catalogue==2.0.1
  Using cached catalogue-2.0.1-py3-none-any.whl (9.6 kB)
Collecting coloredlogs==15.0
  Using cached coloredlogs-15.0-py2.py3-none-any.whl (45 kB)
Collecting cymem==2.0.5
  Using cached cymem-2.0.5-cp38-cp38-manylinux2014_x86_64.whl (35 kB)
Collecting cython==0.29.23
  Using cached Cython-0.29.23-cp38-cp38-manylinux1_x86_64.whl (1.9 MB)
Collecting datasets==1.6.1
  Using cached datasets-1.6.1-py3-none-any.whl (220 kB)

Pip subprocess error:
ERROR: Could not find a version that satisfies the requirement de-core-news-sm==3.0.0
ERROR: No matching distribution found for de-core-news-sm==3.0.0

failed

CondaEnvException: Pip failed

So I removed the de-core-news-sm and en-core-news-sm, then I ran the command again and I now get the following error:

The conflict is caused by:
    The user requested tqdm==4.36.1
    datasets 1.6.1 depends on tqdm<4.50.0 and >=4.27
    fvcore 0.1.5.post20210423 depends on tqdm
    huggingface-hub 0.0.8 depends on tqdm
    iopath 0.1.8 depends on tqdm
    nltk 3.6.2 depends on tqdm
    parlai 1.2.0 depends on tqdm
    spacy 3.0.0 depends on tqdm<5.0.0 and >=4.38.0

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 /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 14), -r /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 22), -r /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 29), -r /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 35), -r /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 45), -r /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 48), -r /home2/hyunwoo.kim/workspace/cloned_repos/ToxiChat/condaenv.c13ejpuf.requirements.txt (line 74) and tqdm==4.36.1 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

failed

CondaEnvException: Pip failed

I had to remove the version specification for tqdm. So, TLDR: which version do I need for de-core-news-sm and en-core-news-sm ?

abaheti95 commented 2 years ago

Hmm. I guess I incrementally added packages to the environment and that resulted in some dependency issues. The two problematic packages don't need to be installed I think. Spacy will automatically install necessary version when needed. I guess you'd have to remove package versions which are throwing conflicts.

abaheti95 commented 2 years ago

You can share any dependency errors that you come across that you couldn't resolve. I can try to look into them.

abaheti95 commented 2 years ago

Hello @skywalker023 , were you able to resolve this problem? If yes, I'd really appreciate it if you can share what changes you had to make.

skywalker023 commented 2 years ago

Oh sorry! I think it’s the version compatibility for de-core-news-sm and en-core-news-sm and tqdm If I remove the core-news-sms and the version specification of tqdm I can finally setup the environment without errors! I'm going through a lot of deadlines right now, so I haven't really tried the other codes yet. But I will let you know if something comes up later! Thank you!

abaheti95 commented 2 years ago

Thank you for sharing this. Good luck with your deadlines!