There are a few pain points with plato's dependencies:
- Using PySide as the desktop GUI backend. Because it is a wrapper around Qt, it can be difficult to get consistently-linked versions without using a package manager. Furthermore, the pyside devs can't currently support windows for python3.5 and greater https://github.com/pyside/PySide/issues/132, so they do not provide python3.5-and-greater packages for any OS. We could make plato backend-agnostic (https://docs.google.com/document/d/1nUzkUD0PsiXYHvZY7HtNRX0hGkbWXfxrHpEUEbMjeZY) to work around needing pyside, so let Matthew know if you're interested in helping fix this!
- Using jupyter notebooks. The python packages
notebook(jupyter notebook server library),
ipywidgets(python-side notebook widgets code), and
widgetsnbextension(browser-side notebook widgets code) need to have consistent versions installed simultaneously. This difficulty is somewhat increased by jupyter's extension interface using global state inside your home directory.
In this document we'll try to keep living walkthrough-style guides using particular working versions of packages. If something doesn't work, please edit it to update or create an issue https://bitbucket.org/glotzer/plato/issues/new. Some more general (non version-specific) troubleshooting-type information can be found https://glotzerlab.engin.umich.edu/plato/troubleshooting.html.
This gives consistent versions for desktop (plato.viz) usage and jupyter notebook usage.
~/.anaconda3/bin/conda create -n plato python=3.5 source ~/.anaconda3/bin/activate plato conda install -c conda-forge ipywidgets==5.2.2 notebook==4.4.1 widgetsnbextension==1.2.6 conda config --add channels file:///nfs/glotzer/software/conda-private conda install pyside matplotlib cd /path/to/plato pip install -r requirements_https.txt cd
Pip installation (virtualenv)
This will at least work for jupyter notebooks; pyside installation depends on having installed Qt using another method. Set up the environment:
mkdir -p ~/env python -m venv ~/env/plato source ~/env/plato/bin/activate
Select only one of the two lines below, depending on which way you authenticate to bitbucket:
pip install ipywidgets==5.2.2 notebook==4.4.1 widgetsnbextension==1.2.6 ipykernel git+https://github.com/vispy/vispy.git git+https://bitbucket.org/glotzer/peact.git@master git+https://bitbucket.org/glotzer/plato.git@master pip install ipywidgets==5.2.2 notebook==4.4.1 widgetsnbextension==1.2.6 ipykernel git+https://github.com/vispy/vispy.git git+ssh://email@example.com/glotzer/peact.git@master git+ssh://firstname.lastname@example.org/glotzer/plato.git@master
Finally, link up the pieces needed by jupyter:
~/env/plato/bin/jupyter nbextension enable --py widgetsnbextension python -m ipykernel install --user
You can clone a snippet to your computer for local editing. Learn more.