Sanic error while installing rasa 1.7.4

Hey

I want to install my RASA environment which looks like this:

name: chatbot_rasa
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.6.9
  - pip
  - pytest
  - cx_Oracle
  - pip:
    - dopamine-rl==3.0.1
    - livereload==2.6.1
    - multidict==4.6.1
    - numpy==1.16.0
    - python-dateutil==2.8.0
    - python-engineio==3.9.3
    - python-socketio==4.3.1
    - rasa==1.7.4
    - rasa-sdk==1.7.0
    - spacy==2.1.8

It used to work, but now I get the following error after this: conda env create -f environment_dev.yml

Error:

The conflict is caused by:
    rasa 1.7.4 depends on sanic-cors==0.9.9.post1
    rasa-sdk 1.7.0 depends on sanic-cors<0.11.0 and >=0.10.0b1

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

Any ideas?

hi @Chatbot_Ra - so I did some digging into old branches to see what was going on.

Here’s the old requirements file of rasa-sdk, which indeed pins sanic-cors==0.9.9.post1

And the sanic-cors dependency in rasa itself was set aroudn the same time update sanic · RasaHQ/rasa@634bf50 · GitHub

I’m not sure why this would have worked before - indeed there is a clash. Is it feasible for you to update your project to an up-to-date Rasa version? There is a migration guide

Thank you very much, Alan!

Not sure if I get this right. Would you suggest to pin sanic==19.9.0 and sanic-cors==0.9.9.post1 in my environment.yml file? I have tried it:

name: chatbot
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.6.9
  - pip
  - pytest
  - cx_Oracle
  - pip:
    - dopamine-rl==3.0.1
    - livereload==2.6.1
    - multidict==4.6.1
    - numpy==1.16.0
    - python-dateutil==2.8.0
    - python-engineio==3.9.3
    - python-socketio==4.3.1
    - rasa==1.7.4
    - rasa-sdk==1.7.0
    - spacy==2.1.8
    - sanic==19.9.0
    - sanic-cors==0.9.9.post1

I get the following error:

The conflict is caused by:
    The user requested sanic-cors==0.9.9.post1
    rasa 1.7.4 depends on sanic-cors==0.9.9.post1
    rasa-sdk 1.7.0 depends on sanic-cors<0.11.0 and >=0.10.0b1

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

Sure, I want to migrate to a higher version. But before I can do it, I have to run the old version one last time. Only then, I am ready to start migration.

I wonder why the env-file worked for such a long time…

maybe an easy workaround is to just pull the source of the rasa-sdk from github, manually edit the requirements file in there, and then install locally with pip install -e . from inside the rasa-sdk dir.

I found a work around:

First install directly via github:

pip install git+git://github.com/RasaHQ/rasa-sdk@1.7.0

Then you do:

pip install -r requirements_dev.txt

The requirements_dev.txt looks like:

rasa==1.7.4
spacy==2.1.8
numpy==1.16.0
python-socketio==4.3.1
python-engineio==3.9.3
livereload
pytest==5.2.2
cx_Oracle==7.2.2
python-dateutil==2.8.0
multidict==4.6.1
alembic==1.4.2
tensorflow-datasets==3.1.0
tensorflow-hub==0.8.0
tensorflow-metadata==0.22.0

Note, the file doesn’t install rasa_sdk anymore!

I think the problem is created by RASA.