Skip to content

[JOSS Review] Editable installation not working as described in README

Hi 👋

I am afraid "last issue" (#19) was not fully correct—when going through more items on the JOSS review checklist, I tried your installation instructions and the "Full editable install" failed with a version conflict in haxquantpy. I tried updating pip and cleaning the pip cache, but to no avail. Here is an excerpt from my bash input/output:

nluetts@fedora:/tmp$ python -m venv env

nluetts@fedora:/tmp$ source env/bin/activate

(env) nluetts@fedora:/tmp$ git clone --recursive https://gitlab.fysik.su.se/operando-catalysis-spectroscopy/polariseval.git
cd polariseval
pip install -e ./haxquantpy ./specqp ./
Cloning into 'polariseval'...
[...]
Submodule path 'haxquantpy': checked out '97a7b36d5ad834ba1fa146ecc493f108cb2fe455'
Submodule path 'specqp': checked out '900c319fa9c2c6eacc4b69b5d22687cac3c6f13f'
[...]
INFO: pip is looking at multiple versions of poleval to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy) and poleval==1.0.1 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy)
    poleval 1.0.1 depends on haxquantpy 0.0.2 (from /var/home/nluetts/.cache/pip/wheels/f9/cc/93/688ef048678363823b6b0825a728421801d751fb12c7deba4b/haxquantpy-0.0.2-py3-none-any.whl)

To fix this you could try to:
1. loosen the range of package versions you\'ve specified
2. remove package versions to allow pip to attempt to solve the dependency conflict
[notice] A new release of pip is available: 24.3.1 -> 25.3
[notice] To update, run: pip install --upgrade pip
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

# Trying to update pip
(env) nluetts@fedora:/tmp/polariseval$ pip install --upgrade pip
[...]
Successfully installed pip-25.3

(env) nluetts@fedora:/tmp/polariseval$ pip install -e ./haxquantpy ./specqp ./
[...]
ERROR: Cannot install haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy) and poleval==1.0.1 because these package versions have conflicting dependencies.
[...]

# Trying removing old pip cache
(env) nluetts@fedora:/tmp/polariseval$ pip cache purge
Files removed: 1866 (1052.7 MB)

(env) nluetts@fedora:/tmp/polariseval$ pip install -e ./haxquantpy ./specqp ./
[...]
ERROR: Cannot install haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy) and poleval==1.0.1 because these 
[...]

# Installing only current directory as editable
(env) nluetts@fedora:/tmp/polariseval$ pip install -e ./
[...]
Successfully installed asteval-1.0.6 asttokens-3.0.0 attrs-25.4.0 beautifulsoup4-4.14.2 bleach-6.3.0 comm-0.2.3 contourpy-1.3.3 cycler-0.12.1 decorator-5.2.1 defusedxml-0.7.1 dill-0.4.0 et-xmlfile-2.0.0 executing-2.2.1 fastjsonschema-2.21.2 fonttools-4.60.1 h5py-3.15.1 haxquantpy-0.0.2 ipympl-0.9.8 ipython-9.6.0 ipython-pygments-lexers-1.1.1 ipywidgets-8.1.8 jedi-0.19.2 jinja2-3.1.6 jsonschema-4.25.1 jsonschema-specifications-2025.9.1 jupyter-client-8.6.3 jupyter-core-5.9.1 jupyterlab-pygments-0.3.0 jupyterlab_widgets-3.0.16 kiwisolver-1.4.9 llvmlite-0.45.1 lmfit-1.3.4 markupsafe-3.0.3 matplotlib-3.10.7 matplotlib-inline-0.2.1 mistune-3.1.4 nbclient-0.10.2 nbconvert-7.16.6 nbformat-5.10.4 numba-0.62.1 numpy-2.3.4 openpyxl-3.1.5 packaging-25.0 pandas-2.3.3 pandocfilters-1.5.1 parso-0.8.5 pexpect-4.9.0 pillow-12.0.0 platformdirs-4.5.0 poleval-1.0.1 prompt_toolkit-3.0.52 ptyprocess-0.7.0 pure-eval-0.2.3 pygments-2.19.2 pyparsing-3.2.5 python-dateutil-2.9.0.post0 pytz-2025.2 pyyaml-6.0.3 pyzmq-27.1.0 referencing-0.37.0 rpds-py-0.28.0 scipy-1.16.3 six-1.17.0 soupsieve-2.8 specqp-1.2.0 stack_data-0.6.3 tinycss2-1.4.0 tornado-6.5.2 traitlets-5.14.3 typing-extensions-4.15.0 tzdata-2025.2 uncertainties-3.2.3 wcwidth-0.2.14 webencodings-0.5.1 widgetsnbextension-4.0.15 xraylib-4.2.0

(env) nluetts@fedora:/tmp/polariseval$

As you can see, installing only the polariseval directory as editable works. What also works is installing haxquantpy, specqp and polariseval separately (calling pip install -e . in each directory separately, in the given order, not shown above).

Background info for my system:
Fedora Linux 42.20251031.0 (Sway Atomic)
Python 3.13.9

I tried the installation from the current main branch and the joss_paper branch.

Can you verify this behavior and either fix the dependency declaration or installation instructions?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information