web-dev-qa-db-ja.com

google colabにcondaパッケージをインストールする

Anacondaからgoogleのcolabにパッケージをインストールしようとしています。

しかし、それは機能しません。すべてはブードゥーマジックです。

次のコードは1つのセルにあります。

ノートブックのセル:

!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

結果:

ModuleNotFoundError: No module named 'ujson'

「!bash」を使用してbashシェルに入り、「bash's」Pythonを実行すると、そのPythonにujsonをインポートできます。しかし、「ノートブック」のpythonに直接ujsonをインポートすると、機能しません。

ここのメソッドはもう機能していないようです

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

うまくいく最新のハックは何ですか?

3
Duh Huh

解決しなければならない2つの問題があります。

  • ujsonは通常、python 3.7にアップグレードします。これを回避する必要があります。
  • condaライブラリへのパスが変更されました。更新する必要があります。

1の場合、python=3.6conda installに追加する必要があります。

2の場合、/usr/local/lib/python3.6/site-packagesへのパスを追加する必要があります

これが新しいコードです

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

Google ColabのJupyter IDEで、次のコマンドを実行してみてください。

!pip install ujson

以前はこれでうまくいきました。今すぐ機能するかどうか教えてください。

1