Chilipp / straditize

⛔️ Python package for digitizing pollen diagrams
https://straditize.readthedocs.io
GNU General Public License v3.0
14 stars 5 forks source link

Error encountered while trying to launch STRADITIZE #17

Open BrainDBG opened 4 years ago

BrainDBG commented 4 years ago

Hi Philipp,

I have been attempting to install and run the STRADITIZE software and have encountered diffiuclties in doing so. When I try to launch STRADITIZE after installing, the following error message pops up, and I am not sure how to solve it:

WARNING:psyplot.warning:C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot\config\rcsetup.py:527: PsyPlotWarning:
Trying to set 'plotter.simple.xtickprops' to {'major': {}, 'minor': {}} via the update method of RcParams which does not validate cleanly.
self.update({key: val[0] for key, val in defaultParams.items()

WARNING:psyplot.warning:C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot\config\rcsetup.py:527: PsyPlotWarning:
Trying to set 'plotter.simple.ytickprops' to {'major': {}, 'minor': {}} via the update method of RcParams which does not validate cleanly.
self.update({key: val[0] for key, val in defaultParams.items()

WARNING:psyplot.warning:C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot\config\rcsetup.py:527: PsyPlotWarning:
Trying to set 'plotter.simple.xticks' to {'major': None, 'minor': None} via the update method of RcParams which does not validate cleanly.
self.update({key: val[0] for key, val in defaultParams.items()

WARNING:psyplot.warning:C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot\config\rcsetup.py:527: PsyPlotWarning:
Trying to set 'plotter.simple.yticks' to {'major': None, 'minor': None} via the update method of RcParams which does not validate cleanly.
self.update({key: val[0] for key, val in defaultParams.items()

Traceback (most recent call last):
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\traitlets\traitlets.py", line 528, in get
value = obj._trait_values[self.name]
KeyError: 'iopub_socket'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\traitlets\traitlets.py", line 528, in get
value = obj._trait_values[self.name]
KeyError: 'iopub_thread'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\Brian Li\.conda\envs\straditize\Scripts\straditize-script.py", line 10, in
sys.exit(main())
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\straditize\__main__.py", line 180, in main
parser.parse_known2func()
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\funcargparse\__init__.py", line 930, in parse_known2func
return func(**kws), remainder
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\straditize\__main__.py", line 70, in start_app
mainwindow = start_app(exec_=False, callback='', **kwargs)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot_gui\__init__.py", line 226, in start_app
mainwindow = MainWindow.run(fnames, project, engine, plot_method, name,
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot_gui\main.py", line 972, in run
mainwindow = cls(show=show)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot_gui\main.py", line 144, in __init__
self.console = ConsoleWidget(self)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\psyplot_gui\console.py", line 105, in __init__
kernel_manager.start_kernel(show_banner=False)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\inprocess\manager.py", line 46, in start_kernel
self.kernel = InProcessKernel(parent=self, session=self.session)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\inprocess\ipkernel.py", line 72, in __init__
super(InProcessKernel, self).__init__(**traits)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\ipkernel.py", line 71, in __init__
self.shell.displayhook.pub_socket = self.iopub_socket
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\traitlets\traitlets.py", line 556, in __get__
return self.get(obj, cls)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\traitlets\traitlets.py", line 535, in get
value = self._validate(obj, dynamic_default())
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\inprocess\ipkernel.py", line 67, in _default_iopub_socket
return self.iopub_thread.background_socket
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\traitlets\traitlets.py", line 556, in __get__
return self.get(obj, cls)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\traitlets\traitlets.py", line 535, in get
value = self._validate(obj, dynamic_default())
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\inprocess\ipkernel.py", line 59, in _default_iopub_thread
thread = IOPubThread(self._underlying_iopub_socket)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\iostream.py", line 71, in __init__
self._setup_event_pipe()
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\ipykernel\iostream.py", line 90, in _setup_event_pipe
self._event_puller = ZMQStream(pipe_in, self.io_loop)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\zmq\eventloop\zmqstream.py", line 127, in __init__
self._init_io_state()
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\zmq\eventloop\zmqstream.py", line 546, in _init_io_state
self.io_loop.add_handler(self.socket, self._handle_events, self.io_loop.READ)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\site-packages\tornado\platform\asyncio.py", line 100, in add_handler
self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
File "C:\Users\Brian Li\.conda\envs\straditize\lib\asyncio\events.py", line 501, in add_reader
raise NotImplementedError
NotImplementedError

The functionality of STRADITIZE described in your papers and presentations seem very handy and promising. It'd be nice if you may look into the error I encountered and see if there is anything I may do to get STRADITIZE launching properly. Thank you very much!

Kind regards,

Brian

Chilipp commented 4 years ago

Hey @BrainDBG ! Thanks again for reporting the issue. This is a tricky one as it is not caused by straditize, rather by the package incompatibilities of the downstream-dependencies.

On Linux I would recommend to not mix conda-forge and defaults channel, but this does not work for Windows as there is no scipy available (see conda-forge/scipy-feedstock#80). Therefore, could you try the following please?

  1. Open the anaconda prompt and install the anaconda CLI: conda install -n base -c defaults --override-channels anaconda-client
  2. create a conda environment via conda env create -n straditize chilipp/straditize-env

The first command installs the anaconda client, a tool to help the conda package manager communicate with anaconda.org. The second command creates a straditize environment with conda using the environment file from my anaconda channel. Now you should be able to start straditize by typing

conda activate straditize
straditize

This worked on my Windows machine, please let me know if this solves your installation issues as well and if there is anything else that I can help you with.

BrainDBG commented 4 years ago

Hi Chilipp, It seems to be wokring fine now. Thanks heaps! I have tried to go through the basic and advanced tutorials and may have stumbled upon an error in the advanced tutorial.

At the step where I am required to enter column names, it keeps telling me I spelt 'Liguliflorae' wrong even though I am pretty sure I spelt it right after several attempts. I could still skip ahead to finish the tutorial so it's just a minor inconvenience. I'd be nice we you can look into it by the next update of straditize.

Other than that, I think straditize is a great tool to extract data from pollen and stratigraphy diagrams, and it's relatively easy to use. Thanks for developing this great tool!