Anaconda をインストールし・Anaconda 配下の Python で動くように PostGIS を整える(Ubuntu 上)
前準備
- 前準備として Anaconda がインストール済みであること
- Anaconda3 の conda パッケージの更新、古い conda パッケージファイルの削除
「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作.「CondaKeyError: 'channels' 'conda-forge' ...」というエラーメッセージは無視してよい.
conda config --remove channels conda-forge conda upgrade -y --all conda clean -y --packages
(途中省略)
(途中省略)
PostGIS を使ってみる
- Anaconda 配下の Python に psycopg2, ArcGIS API for Python, gdal, geopandas をインストール
conda install -y psycopg2 geopandas conda install -y -c esri arcgis pip install --ignore-installed --upgrade
- 次のプログラムを実行してみる
パスワード(下のプログラムでは「my password」)は、正しいパスワードに置き換えて実行すること
import psycopg2 import geopandas conn = psycopg2.connect(database="hoge", user="dbadmin", password="my password", host="localhost") q = "select * from P;" a = geopandas.GeoDataFrame.from_postgis(q, conn, geom_col='geo') print(a)
- Anaconda 配下の Python を使って, GEOS を再インストール
configure の実行時に「checking for Python library path... configure: error: cannot find Python library path」と表示されるエラーを回避するために、「cp ${HOME}/anaconda3/lib/libpython3.8m.a ${HOME}/anaconda3/lib/libpython3.8.a」を実行.
cp ${HOME}/anaconda3/lib/libpython3.8m.a ${HOME}/anaconda3/lib/libpython3.8.a cd /usr/local cd geos cd geos-3.5.1 ./configure --enable-python make clean make PYTHON_LDFLAGS="-L${HOME}/anaconda3/lib" sudo make install
- Anaconda 配下の Python を使って, PostGIS を再インストール
cd /usr/local/ cd postgis cd postgis-2.4.4 ./configure --with-projdir=/usr/local/proj/proj-5.1.0 --with-pgconfig=/usr/bin/pg_config --with-xml2config=/usr/bin/xml2-config make clean make PYTHON_LDFLAGS="-L${HOME}/anaconda3/lib" sudo make install
- 確認のため、先ほど実行したプログラムを、もう1度実行してみる
同じ結果になれば OK.