Dear HPC,
I am getting the following error when trying to install pip packages from a pyproject.toml file:
ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device
The anaconda environment is
/home/users/s/shekhza2/.conda/envs/ant-migrate-dev
the command I used is
pip install -e ."[dev]"
and the pyproject.toml file is here:
/home/users/s/shekhza2/ant-migrate/git_repo/benchmarking
Locally, the installation works, so it seems an issue with the HPC.
– Imahn
Dear @Imahn.Shekhzadeh1
When you ask for help: please use the category “HPC issues” on hpc-community. Doing so, you’ll use the correct template and we’ll have more information. I’ve moved your post to the correct category but I’m still missing the information on which cluster you are having the issue.
Do you have the issue on Baobab and Yggdrasil?
Best
Ok, good to know for next time, the cluster is baobab.
The issue is that /tmp on login2.baobab is too small. You need to create and use an alternative directory for such task.
(ant-migrate-dev) (baobab)-[shekhza2@login2 benchmarking]$ mkdir $HOME/tmp
(ant-migrate-dev) (baobab)-[shekhza2@login2 benchmarking]$ TMPDIR=$HOME/tmp pip install -e ."[dev]"
ps: I did this in your environment and it worked, thus the installation should be done, no need to redo.
Thanks! Is it possible to somehow configure pip (e.g. in the .bashrc file) to automatically use TMPDIR, so that infuture installations, I won’t have to think about it?
– Imahn
PS: I also noticed that when using TMPDIR, I get the following warning, but I guess that adding TMPDIR results in a user installation:
Defaulting to user installation because normal site-packages is not writeable
In fact, pip is already using TMPDIR if present. You just need to set it (in your .bashrc export TMPDIR=XXX
We’ll probably increase the tmp size during the next maintenance anyway and this workaround won’t be strictly necessary anymore.
The same message was present as well without this variable set, you probably just missed it. You can use pip install --user to force it to do the installation in user directory.
1 Like