web-dev-qa-db-fra.com

installer le package conda sur google colab

J'essaye d'installer des paquets d'Anaconda vers le colab de google.

Mais ça ne marche pas. Le tout est de la magie vaudou.

Le code suivant est dans une cellule.

Cellule du notebook:

!wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
!bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /usr/local/
!rm Miniconda3-latest-Linux-x86_64.sh
!conda install -y --prefix /usr/local/ ujson aiohttp tqdm
import sys
os.environ['PYTHONPATH'] = "/usr/local/miniconda3"
os.environ['PATH'] = '/usr/local/miniconda3/bin:' + os.environ['PATH']
sys.path.append('/usr/local/lib/python3.6/site-packages/')
import ujson

Résultat:

ModuleNotFoundError: No module named 'ujson'

Si je vais dans un shell bash avec "! Bash" et que j'exécute le python "bash", je peux importer ujson dans ce python. Mais, si j'importe directement ujson dans le python du "notebook", cela ne fonctionne pas.

Les méthodes ici ne semblent plus fonctionner

!wget -c https://repo.anaconda.com/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh
!chmod +x Miniconda3-4.5.4-Linux-x86_64.sh
!bash ./Miniconda3-4.5.4-Linux-x86_64.sh -b -f -p /usr/local
!conda install -q -y --prefix /usr/local ujson
import sys
sys.path.append("/usr/local/conda/lib/python3.6/site-packages/")
print(ujson.dumps({1:2}))

Quel est le dernier hack qui fonctionnerait?

3
Duh Huh

Il y a 2 problèmes qui doivent être résolus:

  • ujson sera normalement mis à niveau vers python 3.7, doit éviter cela.
  • le chemin vers la bibliothèque conda est modifié, doit le mettre à jour.

Pour 1, vous devez ajouter python=3.6 à conda install.

Pour 2, vous devez ajouter le chemin vers /usr/local/lib/python3.6/site-packages

Voici le nouveau code

# same
!wget -c https://repo.anaconda.com/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh
!chmod +x Miniconda3-4.5.4-Linux-x86_64.sh
!bash ./Miniconda3-4.5.4-Linux-x86_64.sh -b -f -p /usr/local
# update 1
!conda install -q -y --prefix /usr/local python=3.6 ujson
# update 2
import sys
sys.path.append('/usr/local/lib/python3.6/site-packages')
# test it
import ujson
print(ujson.dumps({1:2}))
2

Dans google colab, Jupyter IDE, essayez d'exécuter:

!pip install ujson

Cela a fonctionné pour moi avant. Faites-moi savoir si cela fonctionne maintenant.

1
Aditya Bhattacharya