conda: lalinference_nest2pos links not building using pip
Description of problem
When installing lalsuite using pip lalsuite
in a conda environment, there is a problem with the lalinference_nest2pos
command based and called from anaconda3/envs/ENVNAME/lib/python2.7/site-packages/lalapps/bin/
. The executable of this command with its definition is based anaconda3/envs/ENVNAME/bin
and it is working. The problem is that when calling lalinference_nest2pos
, the command called anaconda3/envs/ENVNAME/lib/python2.7/site-packages/lalapps/bin/lalinference_nest2pos
, has the wrong hardlinks in it.
Opening this file I read:
#!/bin/sh
PYTHONPATH="/Users/gitlab/builds/409cdfe8/0/lscsoft/lalsuite/wheel/build/inst/lib/python2.7/site-packages:${PYTHONPATH}"
export PYTHONPATH
exec /Users/gitlab/builds/409cdfe8/0/lscsoft/lalsuite/env/bin/python2.7 "/Users/gitlab/builds/409cdfe8/0/lscsoft/lalsuite/wheel/build/inst/libexec/lalinference/lalinference_nest2pos.py" "$@"
exit 1
Which means the links for the python executable, packages and the link for the lalinference_nest2pos
is not being updating matching the environment paths of the user.
Conda info
$ conda info
active environment : py27
active env location : /Users/Ngiggs/opt/anaconda3/envs/py27
shell level : 2
user config file : /Users/Ngiggs/.condarc
populated config files : /Users/Ngiggs/.condarc
conda version : 4.7.12
conda-build version : 3.18.9
python version : 3.7.4.final.0
virtual packages :
base environment : /Users/Ngiggs/opt/anaconda3 (writable)
channel URLs : https://conda.anaconda.org/conda-forge/osx-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/osx-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /Users/Ngiggs/opt/anaconda3/pkgs
/Users/Ngiggs/.conda/pkgs
envs directories : /Users/Ngiggs/opt/anaconda3/envs
/Users/Ngiggs/.conda/envs
platform : osx-64
user-agent : conda/4.7.12 requests/2.22.0 CPython/3.7.4 Darwin/19.0.0 OSX/10.15.1
UID:GID : 503:20
netrc file : None
offline mode : False
Conda list
$ conda list
# packages in environment at /Users/Ngiggs/opt/anaconda3/envs/py27:
#
# Name Version Build Channel
appnope 0.1.0 py27_1000 conda-forge
astropy 2.0.16 pypi_0 pypi
atomicwrites 1.3.0 pypi_0 pypi
attrs 19.3.0 pypi_0 pypi
backports 1.0 py_2 conda-forge
backports-functools-lru-cache 1.6.1 pypi_0 pypi
backports.shutil_get_terminal_size 1.0.0 py_3 conda-forge
backports_abc 0.5 py_1 conda-forge
beautifulsoup4 4.8.1 pypi_0 pypi
ca-certificates 2019.9.11 hecc5488_0 conda-forge
certifi 2019.9.11 py27_0 conda-forge
cffi 1.13.2 pypi_0 pypi
chardet 3.0.4 pypi_0 pypi
corner 2.0.1 pypi_0 pypi
cryptography 2.8 pypi_0 pypi
cycler 0.10.0 pypi_0 pypi
cython 0.29.14 pypi_0 pypi
decorator 4.4.1 py_0 conda-forge
emcee 2.2.1 pypi_0 pypi
enum34 1.1.6 py27_1001 conda-forge
funcsigs 1.0.2 pypi_0 pypi
futures 3.3.0 py27_0 conda-forge
h5py 2.10.0 pypi_0 pypi
healpy 1.12.10 pypi_0 pypi
idna 2.8 pypi_0 pypi
ipaddress 1.0.23 pypi_0 pypi
ipykernel 4.10.0 py27_0 conda-forge
ipython 5.8.0 py27_0 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
jinja2 2.10.3 pypi_0 pypi
jupyter_client 5.3.3 py27_1 conda-forge
jupyter_core 4.5.0 py_0 conda-forge
kiwisolver 1.1.0 pypi_0 pypi
lalsuite 6.62 pypi_0 pypi
libcxx 9.0.0 h89e68fa_1 conda-forge
libffi 3.2.1 h6de7cb9_1006 conda-forge
libsodium 1.0.17 h01d97ff_0 conda-forge
ligo-segments 1.2.0 pypi_0 pypi
lscsoft-glue 2.0.0 pypi_0 pypi
mako 1.1.0 pypi_0 pypi
markupsafe 1.1.1 pypi_0 pypi
matplotlib 2.2.4 pypi_0 pypi
more-itertools 5.0.0 pypi_0 pypi
mpld3 0.3 pypi_0 pypi
ncurses 6.1 h0a44026_1002 conda-forge
numpy 1.16.5 pypi_0 pypi
openssl 1.1.1d h0b31af3_0 conda-forge
pandas 0.24.2 pypi_0 pypi
pathlib2 2.3.5 py27_0 conda-forge
pexpect 4.7.0 py27_0 conda-forge
pickleshare 0.7.5 py27_1000 conda-forge
pillow 6.2.1 pypi_0 pypi
pip 19.3.1 py27_0 conda-forge
pluggy 0.7.1 pypi_0 pypi
prompt_toolkit 1.0.15 py_1 conda-forge
ptyprocess 0.6.0 py_1001 conda-forge
py 1.8.0 pypi_0 pypi
pycbc 1.14.3 pypi_0 pypi
pycparser 2.19 pypi_0 pypi
pygments 2.4.2 py_0 conda-forge
pyopenssl 19.0.0 pypi_0 pypi
pyparsing 2.4.5 pypi_0 pypi
pytest 3.6.4 pypi_0 pypi
python 2.7.15 hd51d24c_1009 conda-forge
python-dateutil 2.8.1 py_0 conda-forge
pytz 2019.3 pypi_0 pypi
pyzmq 18.1.0 py27h4bf09a9_0 conda-forge
readline 8.0 hcfe32e1_0 conda-forge
requests 2.22.0 pypi_0 pypi
scandir 1.10.0 py27h0b31af3_0 conda-forge
scipy 1.2.2 pypi_0 pypi
scotchcorner 0.2.1 pypi_0 pypi
setuptools 41.6.0 py27_1 conda-forge
simplegeneric 0.8.1 py_1 conda-forge
singledispatch 3.4.0.3 py27_1000 conda-forge
six 1.13.0 py27_0 conda-forge
soupsieve 1.9.5 pypi_0 pypi
sqlite 3.30.1 h93121df_0 conda-forge
subprocess32 3.5.4 pypi_0 pypi
tk 8.6.9 h2573ce8_1003 conda-forge
tornado 5.1.1 py27h1de35cc_1000 conda-forge
tqdm 4.38.0 pypi_0 pypi
traitlets 4.3.3 py27_0 conda-forge
urllib3 1.25.7 pypi_0 pypi
wcwidth 0.1.7 py_1 conda-forge
weave 0.17.0 pypi_0 pypi
wheel 0.33.6 py27_0 conda-forge
zeromq 4.3.2 h6de7cb9_2 conda-forge
zlib 1.2.11 h0b31af3_1006 conda-forge
Suggested solutions
I do not know how to solve this, but I am pretty sure the solution is applying the same you already do for other command in a similar situation, which I checked and they have all the right links.
Anyway, to fix it I update by hand the links like that
#!/bin/sh
PYTHONPATH="~/anaconda3/ENVNAME/py27/lib/python2.7/site-packages:${PYTHONPATH}"
export PYTHONPATH
exec ~/anaconda3/ENVNAME/py27/bin/python2.7 "~/anaconda3/envs/ENVNAME/bin/lalinference_nest2pos" "$@"
exit 1
and everything seems to work.