install conda package to google colab

16,948

Solution 1

There are 2 problems that must be solved:

  • ujson will normally upgrade to python 3.7, must avoid this.
  • path to conda library is changed, must update it.

For 1, you need to add python=3.6 to conda install.

For 2, you need to add path to /usr/local/lib/python3.6/site-packages

Here's the new 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}))

Solution 2

In the google colab, Jupyter IDE, try executing:

!pip install ujson

This worked for me before. Let me know if it works now.

Solution 3

#If any one want to implement using google collab just run this before compiling other cells

!wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.8.2-Linux-x86_64.sh

!chmod +x Miniconda3-py37_4.8.2-Linux-x86_64.sh

!bash ./Miniconda3-py37_4.8.2-Linux-x86_64.sh -b -f -p /usr/local import sys

sys.path.append('/usr/local/lib/python3.7/site-packages/'

Share:
16,948
Duh Huh
Author by

Duh Huh

Updated on June 09, 2022

Comments

  • Duh Huh
    Duh Huh almost 2 years

    I try to install packages from anaconda to google's colab.

    But it doesn't work. The whole thing is voodoo magic.

    The following code is in one cell.

    Notebook's cell:

    !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
    

    Result:

    ModuleNotFoundError: No module named 'ujson'
    

    If I go into a bash shell with "!bash" and then run the "bash's" python, I can import ujson in that python. But, if I directly import ujson in the "notebook's" python, it doesn't work.

    The methods here doesn't seem to work anymore

    !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}))
    

    What is the latest hack that would work?