Frequently Asked Questions
Igor Installation
Using the suggested invokation I get a pip error
Pip on Windows appears not to like certain archival formats. While
pip install https://github.com/chstan/igorpy.git#egg=igor
should work on most systems, you can also clone the repository:
git clone https://github.com/chstan/igorpy
And then install into your environment from inside that folder.
(my arpes env) > echo "From inside igorpy folder"
(my arpes env) > pip install -e .
Common Issues
I want to use the Bokeh based interactive tools, what version of Tornado should I use?
Typically users run into an incompatibility around tornado (manifesting
as a massive red stacktrace when an attempt is made to call .S.show
)
when they are running Jupyter from the same environment they installed
PyARPES into.
You should install Jupyter into its own environment (I use a separate
[jupyter]
conda environment) and register your analysis environment
as a named kernel with Jupyter.
Anaconda is amazing but can be frustrating: I’ve found through painful experience that it is best to avoid all changes to the root environment and to use Jupyter through a separate dedicated environment. This also helps break dependencies between environments and makes experimenting with another Jupyter version simple: you just have to make a new trial environment before you switch.
To get a compatible version of tornado, uninstall it and bokeh and then
conda install bokeh
.
I tried to upgrade a package and now things aren’t working… how do I get my old code working again?
For large upgrades I recommend making a new environment until you are sure you don’t encounter issues (500 MB disk is cheap!).
It is also helpful to keep a record of “working” configurations on systems that you use. Different package managers have better and worse ways of dealing with this, but you can typically recover a full installation of complex Python software with a list of the requirements and their versions and the version for the interpreter. As a result, I make a point to save a copy of my full requirements
$ pip freeze > working-dependencies-py38-date-14-11-2019.txt
You can then pip or conda install from this requirements file.
If you don’t find this satisfying, you are probably a reasonable and sane human being. Packaging software is apparently more difficult than it would ideally be but the situation is improving.