La version actuelement installé sur baobab de singularity à un bug qui
peut poser problème pour des utilisateurs utilisant des images utilisant
conda.
Vu que nous avons rencontré le problème et l’avons resolut, je partage la demarche si jamais cela aide d’autre utilisateur.
Le message d’erreur obtenu est similaire à cela:
PermissionError: [Errno 13] Permission denied:
‘/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.regex-2017.11.9-py3.6.egg-info’
Malheureusement le fichier n’existe pas dans l’image si on utilise
docker comme decrit ici (
https://www.sylabs.io/2018/04/singularity-compatibility-with-docker-containers/
).
Car c’est un fichier qui a été crée et éffacé par un layer.
Malheureusement singularity ne considère pas se cas et met le fichier
qui malheureusement est accessible que par root.
Autre que updater Singuularity, la solution est de créer un fichier vide
pour remplacer le fichier éffacer et lui donner les bonnes autorisation.
Voici un exemple de Dockerfile.
FROM [nvcr.io/nvidia/pytorch:18.06-py3](http://nvcr.io/nvidia/pytorch:18.06-py3)
RUN . /opt/conda/etc/profile.d/conda.sh && conda activate pytorch-py3.6
&& conda install -c rdkit rdkit
RUN pip install joblib
RUN pip install pandas
RUN pip install scipy matplotlib sympy nose
RUN pip install -U scikit-learn
RUN pip install h5py
RUN pip install future
run pip install regex
run touch
/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.certifi-2018.04.16-py3.6.egg-info
run touch
/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.certifi-2018.11.29-py3.6.egg-info
run touch
/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.cryptography-2.2.2-py3.6.egg-info
run touch
/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.pip-10.0.1-py3.6.egg-info
run touch
/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.prompt_toolkit-1.0.15-py3.6.egg-info
run touch
/opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/.wh.regex-2017.11.9-py3.6.egg-info
RUN chmod -R a+rwx /root
RUN chmod -R a+rwx /opt/conda
WORKDIR /work