biosustain / cameo

cameo - computer aided metabolic engineering & optimization
http://cameo.bio
Apache License 2.0
114 stars 44 forks source link

Installation problems #252

Open danolson1 opened 4 years ago

danolson1 commented 4 years ago

I'm having some problems getting Cameo up and running.

I started by trying to follow the instructions for installing Cameo in a Conda environment. I set up a new environment, but ran into problems installing python 3.4 (some kind of CUDA version error).

So I installed the default version of python (3.8). At some point, I had to downgrade to python 3.7 to fix some dependency issues. I eventually got everything installed (except for Escher, but I can live without that for now).

I'm trying to run some of the tutorials, but I keep getting an Import Error. ImportError: cannot import name 'return_future' from 'tornado.concurrent' It looks like it's coming from bokeh.

Here's the whole error message:

ImportError Traceback (most recent call last)

in ----> 1 from cameo import load_model 2 model = load_model('data/e_coli_core.xml') c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\cameo\__init__.py in 51 import os 52 import sys ---> 53 from cameo import config 54 from cameo.util import get_system_info, in_ipnb 55 c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\cameo\config.py in 44 else: 45 if in_ipnb(): ---> 46 from bokeh.plotting import output_notebook 47 output_notebook(hide_banner=True) 48 use_bokeh = True c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\plotting\__init__.py in 5 from ..models.layouts import Row, Column; Row, Column 6 ----> 7 from ..io import curdoc; curdoc 8 from ..io import output_file; output_file 9 from ..io import output_notebook; output_notebook c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\io.py in 27 28 # Bokeh imports ---> 29 from .core.state import State 30 from .document import Document 31 from .embed import notebook_div, standalone_html_page_for_models, autoload_server c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\core\state.py in 44 from ..document import Document 45 from ..resources import Resources, _SessionCoordinates ---> 46 from ..client import DEFAULT_SESSION_ID 47 48 #----------------------------------------------------------------------------- c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\client\__init__.py in 4 from __future__ import absolute_import 5 ----> 6 from .session import ClientSession, pull_session, push_session, show_session, DEFAULT_SESSION_ID c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\client\session.py in 8 log = logging.getLogger(__name__) 9 ---> 10 from ._connection import ClientConnection 11 12 from bokeh.resources import ( DEFAULT_SERVER_WEBSOCKET_URL, c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\client\_connection.py in 16 17 from bokeh.server.exceptions import MessageError, ProtocolError, ValidationError ---> 18 from bokeh.server.protocol.receiver import Receiver 19 from bokeh.server.protocol import Protocol 20 c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\bokeh\server\protocol\receiver.py in 6 7 import six ----> 8 from tornado.concurrent import return_future 9 10 from ..exceptions import ValidationError ImportError: cannot import name 'return_future' from 'tornado.concurrent' (c:\users\dan\anaconda3\envs\cameo3.4\lib\site-packages\tornado\concurrent.py)
jjczajka commented 4 years ago

Yes, you are right, the issue you are having has to do with bokeh and has been resolved here: 8135.

You should be able to load cameo after making the changes to the packages\bokeh\server\protocol\receiver.py file suggested in the link.

picousse commented 4 years ago

Hi, I'm not seeing the instructions? am I missing something?

it has to do with the combination tornado/bokeh?

I currently have tornado 6.0.4 installed and bokeh 0.12.1

jjczajka commented 4 years ago

Hi, I'm not seeing the instructions? am I missing something?

it has to do with the combination tornado/bokeh?

I currently have tornado 6.0.4 installed and bokeh 0.12.1

Are you referring to the instructions to resolve the bokeh issue linked in 8135? If so, you have to go to the "files changed" tab which shows the lines that are edited in receiver.py file. To find the file, you have to go to your python environmental folder and find the packages folder.."packages\bokeh\server\protocol\receiver.py".

I am not sure about the compatibility of your versions or if you are obtaining the same error as above, but I would try making the changes suggested first before trying to install different versions.