sacdallago / bio_embeddings

Get protein embeddings from protein sequences
http://docs.bioembeddings.com
MIT License
463 stars 65 forks source link

pip install not updating PATH in fresh conda env (Ubuntu 18.04.5) #132

Closed ptizei closed 3 years ago

ptizei commented 3 years ago

I created a new conda env specifically to run bio_embeddings and just did pip install to get the package, as recommended in the repo README.md.

Everything seemed to go just fine, but then I couldn't run the first test protocol from the Cur Protocols paper. Importing bio_embeddings from the python shell and doing the sequence embedding example from the README worked just fine, so I figured it could just be some path issue.

I dug around and found the bin in ~/.local/bin/bio_embeddings, so I'm guessing this might be an issue with $PATH not getting correctly updated in my setup after the install?

The test protocol did run after this, but I got another error that I'll put into a separate issue.

sacdallago commented 3 years ago

Hi @ptizei ,

sorry for the late response. Thank you for using the pipeline and helping us improve it through issues :)

I assume you installed the package using the --user flag? If so, yes: the binary gets stored into your local bin. I never looked if this makes into the PATH, and just now saw that, as you mention, on Ubuntu 18.X it doesn't. Thank you for bringing this to our attention :) I wonder what we can do here @konstin ?

Installing the package on a new ubuntu/conda machine, I get a bunch of warnings, the last one of which is:

  WARNING: The script bio_embeddings is installed in '/home/chdallago/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

While I guess most people with some CS knowledge know what's going on here, the audience of CPB might actually not.

The test protocol did run after this, but I got another error that I'll put into a separate issue.

Yup, thanks for reporting! #133 should be addressed. Did the fix work for you? :)

konstin commented 3 years ago

I could also only reproduce this with --user, when I do the following instead I get a correct installation on ubuntu 18.04:

conda create -n gh132 python==3.8
conda activate gh132
pip install bio-embeddings

Note however that conda by default also imports from the user site packages (https://github.com/conda/conda/issues/448) unless export PYTHONNOUSERSITE=True is explicitely set (https://github.com/conda-forge/python-feedstock/issues/171#issuecomment-374261534)