web-dev-qa-db-ja.com

pip installを使用してCartopyをインストールするが、少なくとも4.9.0のProjバージョンがない

私のコンピューターにCartopyをインストールするためのpipを取得できないようです。私はWindowsコマンドラインから直接作業します(Anacondaや他のプロキシプログラムは使用しません)。

「pip install cartopy」を実行すると、期待どおりの結果が得られます。

C:\Users\Justin\Documents\Python Programs>pip install cartopy
Collecting cartopy
  Using cached https://files.pythonhosted.org/packages/e5/92/fe8838fa8158931906dfc4f16c5c1436b3dd2daf83592645b179581403ad/Cartopy-0.17.0.tar.gz
  Installing build dependencies ... done
    Complete output from command python setup.py Egg_info:
    C:\Users\Justin\AppData\Local\Temp\pip-install-cetb0vj7\cartopy\setup.py:171: UserWarning: Unable to determine GEOS version. Ensure you have 3.3.3 or later installed, or installation may fail.
      '.'.join(str(v) for v in GEOS_MIN_VERSION), ))
    Proj 4.9.0 must be installed.

    ----------------------------------------
Command "python setup.py Egg_info" failed with error code 1 in C:\Users\Justin\AppData\Local\Temp\pip-install-cetb0vj7\cartopy\

「pip install proj」は実際には正しいモジュールバージョンを取得しないことを知っているので、 https://proj4.org/install.html に移動して、OSGeo4Wをダウンロードしてインストールしました。問題ですが、そうではないようです(参考までに、これは私のコンピューターにもまだあります)。

それで、私はこれからcartopy .whlを直接インストールしてみました https://www.lfd.uci.edu/~gohlke/pythonlibs/#cartopy Webサイトで、「pip install Cartopy-0.17.0 -cp37-cp37m-win32.whl "(32ビット版のPython3.7を使用しているので、これが正しいファイルであると確信しています)。しかし、私はその後エラーを受け取ります:

C:\Users\Justin\Documents\Python Programs>pip install Cartopy-0.17.0-cp37-cp37m-win32.whl
    Processing c:\users\justin\documents\python programs\cartopy-0.17.0-cp37-cp37m-win32.whl
        Requirement already satisfied: numpy>=1.10 in c:\users\justin\appdata\local\programs\python\python37\lib\site-packages (from Cartopy==0.17.0) (1.15.1)
        Requirement already satisfied: setuptools>=0.7.2 in c:\users\justin\appdata\local\programs\python\python37\lib\site-packages (from Cartopy==0.17.0) (40.6.2)
        Requirement already satisfied: six>=1.3.0 in c:\users\justin\appdata\local\programs\python\python37\lib\site-packages (from Cartopy==0.17.0) (1.11.0)
        Collecting pyshp>=1.1.4 (from Cartopy==0.17.0)
          Downloading https://files.pythonhosted.org/packages/08/3e/3bda7dfdbee0d7a22d38443f5cc8d154ff6d4701e615f4c07bf1ed003563/pyshp-2.0.1.tar.gz (214kB)
            100% |████████████████████████████████| 215kB 1.4MB/s
        Collecting shapely>=1.5.6 (from Cartopy==0.17.0)
          Using cached https://files.pythonhosted.org/packages/a2/fb/7a7af9ef7a35d16fa23b127abee272cfc483ca89029b73e92e93cdf36e6b/Shapely-1.6.4.post2.tar.gz
            Complete output from command python setup.py Egg_info:
            Traceback (most recent call last):
              File "<string>", line 1, in <module>
              File "C:\Users\Justin\AppData\Local\Temp\pip-install-sb4uyliy\shapely\setup.py", line 80, in <module>
                from shapely._buildcfg import geos_version_string, geos_version, \
              File "C:\Users\Justin\AppData\Local\Temp\pip-install-sb4uyliy\shapely\shapely\_buildcfg.py", line 200, in <module>
                lgeos = CDLL("geos_c.dll")
              File "c:\users\justin\appdata\local\programs\python\python37\lib\ctypes\__init__.py", line 356, in __init__
                self._handle = _dlopen(self._name, mode)
            OSError: [WinError 126] The specified module could not be found

それで私はtar.gzファイルと呼ばれるものをダウンロードしようとしましたが、これは私が自分を失うところです。私はtar.gzに精通しておらず、ファイルパスを "./configure"する必要があることを確認しましたが、これを行う方法も、ファイルの保存場所もわかりませんでした。この問題に関するあらゆるガイダンスは、信じられないほどありがたく感謝します。

3
Justin Jones

対応するGithubの問題への対応 https://github.com/googlecolab/colabtools/issues/85#issuecomment-372532728 によると、ubuntuユーザーはCartopyをインストールする前に追加のパッケージをインストールする必要があります。

!apt-get install libproj-dev proj-data proj-bin  
!apt-get install libgeos-dev  
!pip install cython  
!pip install cartopy  
10
Chen Yazheng

Cartopyが必要とするすべての実行可能な依存関係をもたらすため、condaを使用したインストール(Anacondaの完全インストールとは限りません)を強くお勧めします。 condaがインストールされている場合、cartopyの最新バージョンをインストールすると次のようになります。

conda install --channel conda-forge cartopy

残念ながら、Pythonのバイナリのインストールは、Windowsでは悪名高いほど悪質です(ツールチェーンがPythonバージョンごとに変更されるため、少なくとも、> = = python 3.5]、そして一部には科学者のほとんどの開発者がpythonエコシステムは通常、Windowsマシンを使用しないか、Windowsマシンにアクセスできません)Christoph Gohlkeの信じられないほどのリソースあなたがすでに使用していることは、この声明の主要な例外です。

私は個人的にWindowsにカルトピーをインストールするために数週間を費やしました(EnthoughtチームやChristoph Gohlkeを含む人々からの多大な助けを借りて)-私はこの知識のすべてをconda-forgeパッケージングエコシステムに注ぎ込み、他の人が感じる必要がないようにしました彼らがコンダを使用することを選択した場合のその苦痛。

あなたが本当に本当に、本当にWindowsマシンに手動でcartopyをインストールする必要がある場合は、 https:// github.com/conda-forge/cartopy-feedstock/tree/master/recipe これには、Windowsでcartopyをビルドするために必要なすべての手順が含まれています。これに加えて、すべての依存関係はconda-forge組織の同様の名前のリポジトリに文書化されています。

最後に、出力と@cgohlkeの提案を踏まえて、彼のShapelyバイナリをインストールしてみてください https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

8
pelson

Macではこれをやった

    brew install geos
    brew install proj

これを/usr/local/include/proj_api.hの先頭に追加します
#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H

pip install Cartopy

Python3.6では機能しますが、Python3.7.4では機能しません

6
Tim Seed