workflow-service
workflow-service copied to clipboard
ImportError: cannot import name 'FileStorage'
Following the docs shown on https://pypi.org/project/wes-service/, I just installed via 'pip install wes-service' into a python 3.6 virtual env. When I run 'wes-server' I get the error:
$ wes-server
Traceback (most recent call last):
File "/Users/golharr/workspace/ga4gh/wes-env/bin/wes-server", line 7, in <module>
from wes_service.wes_service_main import main
File "/Users/golharr/workspace/ga4gh/wes-env/lib/python3.6/site-packages/wes_service/wes_service_main.py", line 8, in <module>
import connexion
File "/Users/golharr/workspace/ga4gh/wes-env/lib/python3.6/site-packages/connexion/__init__.py", line 3, in <module>
from .apis import AbstractAPI # NOQA
File "/Users/golharr/workspace/ga4gh/wes-env/lib/python3.6/site-packages/connexion/apis/__init__.py", line 1, in <module>
from .abstract import AbstractAPI # NOQA
File "/Users/golharr/workspace/ga4gh/wes-env/lib/python3.6/site-packages/connexion/apis/abstract.py", line 14, in <module>
from ..operation import Operation
File "/Users/golharr/workspace/ga4gh/wes-env/lib/python3.6/site-packages/connexion/operation.py", line 7, in <module>
from .decorators import validation
File "/Users/golharr/workspace/ga4gh/wes-env/lib/python3.6/site-packages/connexion/decorators/validation.py", line 9, in <module>
from werkzeug import FileStorage
ImportError: cannot import name 'FileStorage'
Happens in both Python 2.7 and Python 2.6 on Mac.
I have, for python 2.7: connexion==1.4.2 Werkzeug==1.0.1
For Python 3.6: connexion==1.4.2 Werkzeug==1.0.1
Referencing due to similar issue https://github.com/zalando/connexion/issues/1149
Looks like FileStorage in werkzeug moved to from werkzeug.datastructures import FileStorage
This break connexion. But connexion 1.4.2 is very old.
setup.py requires specific version of connexion. This should probably get updated.
Yea, the short term fix would be to pin the version. If you are thinking about using this project somebody could probably bring it back up to speed.
I was hoping to test this out as a reference implementation. If this is not a reference implementation, what can I use this is easily to setup and test with? If this is a reference implementation, I'd be happy to help bring up to speed, but if its not used, then there is no point...
This is the main implementation of WES for CWL based-runners, yes