Какие версии sanic-cors, sanic и sanic-plugins-framework следует использовать при установке allennlp == 0.3.0? - PullRequest
0 голосов
/ 22 октября 2018

Какие версии пакетов python sanic-cors, sanic и sanic-plugins-framework следует использовать при установке allennlp==0.3.0 с Python 3.6 или 3.7?

Когда я запускаю:

conda create --name selector-py36 python=3.6 
source activate selector-py36
pip install allennlp==0.3.0

Я получаю сообщение об ошибке:

sanic-plugins-framework 0.6.3.dev20180717 has requirement sanic>=0.7.0, but you'll have sanic 0.6.0 which is incompatible.
sanic-cors 0.9.6 has requirement sanic>=0.8.1, but you'll have sanic 0.6.0 which is incompatible.

, которое в дальнейшем не позволяет моей программе работать с allennlp (RuntimeError: You cannot use Sanic-CORS with sanic < v0.7.0):

(selector-py36) dernon@ilcompn0:/mnt/ilcompnnco/selector$ 
      python -m allennlp.run train data/allen_config_test.json --serialization-dir scratch
Traceback (most recent call last):
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/allennlp/run.py", line 10, in <module>
    from allennlp.commands import main  # pylint: disable=wrong-import-position
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/allennlp/commands/__init__.py", line 6, in <module>
    from allennlp.commands.serve import Serve
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/allennlp/commands/serve.py", line 25, in <module>
    from allennlp.service import server_sanic
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/allennlp/service/server_sanic.py", line 19, in <module>
    from sanic_cors import CORS
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/sanic_cors/__init__.py", line 11, in <module>
    from .decorator import cross_origin
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/sanic_cors/decorator.py", line 15, in <module>
    from .extension import cors
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/sanic_cors/extension.py", line 326, in <module>
    instance = cors = CORS()
  File "/mnt/ilcompnnco/anaconda3/envs/sensei-selector-py36b/lib/python3.6/site-packages/sanic_cors/extension.py", line 139, in __init__
    raise RuntimeError("You cannot use Sanic-CORS with sanic < v0.7.0")
RuntimeError: You cannot use Sanic-CORS with sanic < v0.7.0

1 Ответ

0 голосов
/ 22 октября 2018

allennlp==0.3.0 не имеет надлежащих зависимостей:

  • устанавливает sanic-cors 0.9.6, что требует sanic>=0.8.1, но allennlp==0.3.0 требует sanic>=0.6.0.
  • устанавливает Sanic-Plugins-Framework==0.6.4.dev20181101, что приведет к ImportError: cannot import name 'logger' с sanic-cors==0.9.3.

. Чтобы устранить проблему:

pip install allennlp==0.3.0   # this will install sanic-cors==0.9.6, sanic-0.6.0 
                              # and Sanic-Plugins-Framework==0.6.4.dev20181101
pip install sanic-cors==0.9.3 # this will uninstall sanic-0.6.0 and install sanic-0.8.3 
pip install Sanic-Plugins-Framework==0.6.3.dev20180717 # this will install sanic-0.8.3
pip install sanic==0.6.0
...