Cannot install editable version of library

I’m working on a 2i2c managed hub (CryoCloud) and cannot install an editable version of icepyx in the hub. Historically, running (from terminal) pip install -e. inside the icepyx git directory would result in a dev install. Instead, I’m getting:

Obtaining file:///home/jovyan/icepyx
  Preparing metadata ( ... done
[long list of requirements already satisfied]
Installing collected packages: icepyx
  Attempting uninstall: icepyx
    Found existing installation: icepyx 0.6.5.dev12+ga913b24
    Uninstalling icepyx-0.6.5.dev12+ga913b24:
      Successfully uninstalled icepyx-0.6.5.dev12+ga913b24
  Running develop for icepyx
Successfully installed icepyx-0.6.4

Version 0.6.4 is what’s available on the hub image, but the dev version that’s being uninstalled is an older dev version. I’ve done this a thousand times before and never had it revert to the previously installed version. I’ve updated tags with git fetch --all. What am I missing?

The version might be misreported.

>>> import icepyx
>>> icepyx

should give you the path to which will tell you where it is coming from.

If it is a version misreport, then you’ll probably have to dive into the world of setuptools-scm and all that :wink:

Thanks! You’re right - the pip install output is misreporting. If I start Python in the terminal it’s got the correct dev version installed, as expected, and the next time I get bored I can lose some time to setuptools-scm. :wink:

I didn’t catch this because I was checking the version and install location from within the notebook I am trying to run, which still picks up the wrong version. So it shifts the question to: why isn’t my notebook kernel picking up my environment modification from the terminal (restarting doesn’t help)? Upon startup, my terminal shows:

WARNING: No ICDs were found. Either,
- Install a conda package providing a OpenCL implementation (pocl, oclgrind, intel-compute-runtime, beignet) or 
- Make your system-wide implementation visible by installing ocl-icd-system conda package. 

Is this related, or is there something else I need to set up (in my limited, previous hub experience I have not needed to create a new conda environment or kernel for this to work)?

Update: it looks like on this hub, there is a notebook environment that is distinct from the base environment (presumably what I am updating in terminal). If I pip install from within the notebook (or presumably in terminal after conda activate notebook_env_name), it behaves as expected.

1 Like