0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu/Anaconda環境でGDALとopencvを使おうとしたときにハマったことメモ

Last updated at Posted at 2021-11-28

結論

  • jupyterが参照しているパスには要注意
  • Python 3.8 でGDAL,OpenCV両方インストール可能

前提

  • Ubuntu 20.04.3LTS
  • Anaconda3
  • リモートサーバーにアクセスするため、PuTYYのコマンドラインを使用

起きた事象

conda create -n '環境名' anaconda

でAnaconda上に仮想環境を作りそこにGDALとOpenCVをインストールするため、下記コマンドを入力。

conda install -c conda-forge opencv
conda install -c conda-forge gdal

するとconflictエラーで二つのライブラリがインストールできない。

やったこと

pythonのバージョンを確認

下記で確認できます。

conda info

確認したところpython3.9でした。
下記サイトを見ているとpython3.9版のGDALは用意されているのでインストールできるはず。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

gdalからinstall

仮想環境をpython3.8で作り直しgdalからinstallしたところ問題なくインストール完了できました。

(時系列は前後しますが、pythonの他のバージョンでもGDAL,OpneCVのインストールを試みましたがconflictしなかったのは3.8のみでした。)

下記でjupyterをブラウザで開いて動作確認を行いました。

(仮想環境内で) jupyter notebook

動作確認はnotebook上で

from osgeo import gdal

で可能です。

何もエラーが出なければ問題なくインストールされています。
しかし No module… のエラーを確認。。。

念のため下記でGDALが入っているかを別方法で確認しました。

@notebook
conda list gdal

どうやら入っていなさそう。
ではさっきinstallできたのは何なのか。。。

問題はjupyterが参照するパス!

下記サイトを参考にjupyterのパスを確認してみました。
https://qiita.com/kashi1mochi/items/d640098104b643abd466#%E6%A6%82%E8%A6%81

@notebook
!which jupyter

jupyter パスは/home/ubuntu/jupyterとなっていて、そもそも仮想環境内でjupyterが使えていないことに気づきました。

たしかに仮想環境を作った後にはjupyterを入れていない、、、

コマンドラインでgdalの場所を参照してみるとjupyterの参照先と全然違うところに入っていました。そら動かんわ。

@PuTTY
gdal list
# packages in environment at /home/ubuntu/.conda/envs/(環境名):
#
# Name                    Version                   Build  Channel
gdal                      3.3.0            py38h507a4fd_1    conda-forge
libgdal                   3.3.0                h679344c_1    conda-forge

```


そこでjupyterを仮想環境にインストールしところjupyter notebook上でGDALをimportできました。

正しいjupyterの位置はここでした。

```
/home/ubuntu/.conda/envs/(環境名)/bin/jupyter
```

### 参考
Anacondaで仮想環境を作るときにpythonのバージョンを指定する方法(v3.8の場合)

```:@PuTTY
conda create -n '環境名' python=3.8 anaconda
```



0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?