ArcPyをAnacondaと連携させるには?


23

私は「への答えにステップバイステップの指示に従うことをしようとしていますのArcGISでPythonのインストールを分離する方法」しかし、パスファイルを見つけることができないDTBGGP64.pthで、C:\Python27\ArcGIS10.2\Lib\site-packages

誰かが同様の問題に直面していますか?

arcpyがインストールされている場所をAnacondaに伝えるパスファイルを含めることで回避策がありますか?次のテキストを含む.pthファイルを作成しようとしました。

# .pth file for arcpy

C:\Program Files (x86)\ArcGIS\Desktop10.2\bin 
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\Scripts

それを保存しましたC:\Anaconda\Lib\site-packages(つまり、これが実際にすべてのパッケージが保存される場所である場合)が、次のエラーが表示されます。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\__init__.py", line 21, in <module>
    from arcpy.geoprocessing import gp
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\__init__.py", line 14, in <module>
    from _base import *
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\_base.py", line 14, in <module>
    import arcgisscripting
ImportError: DLL load failed: %1 is not a valid Win32 application.

Windows 7(64ビット)プラットフォームでconda 3.7-py27を実行しています。AnacondaはにインストールされC:\Anaconda、ArcMapはにインストールされC:\ArcGIS\Desktop10.2ます。arcacをAnacondaと連携させる代替ソリューションはありますか?Powershellからスクリプトを実行できるようにしたいだけです。


念のため-コマンドプロンプトで「python」と入力すると、どのバージョン/インストールがエコーされますか?(つまり、arcgisまたはanaconda?)-おっと、これは少し時代遅れだと見たばかりです。問題は今までに解決しました。
fluidmotion

Esri UCの開発者から、AnacondasがArcGIS 10.5に組み込まれると聞きました。必要なモジュールだけをインストールすることをお勧めします。インストールしないと、面倒になります。
dgrubman

このように見える^は、ArcGIS 10.5システム要件
-WxCZar

回答:


13

Anacondaインストールで64ビットバージョンのPythonを使用しており、ArcMapのPythonは32ビットです。いくつかの64ビットArcGISビルド(64ビットバックグラウンドジオプロセシングまたはArcGIS for Serverのいずれか)をインストールして代わりにポイントするか、代わりに32ビットのAnacondaインスタンスをインストールして再試行する必要があります。参照してくださいダウンロードページを 32ビットのインストーラを取得します。


33

このチュートリアルでは、ArcGIS 10.4およびArcGIS Pro 1.3で動作するようにconda環境を設定する方法を示します。

ArcGIS 10.4でAnacondaをセットアップするワークフロー

  • EsriのPythonスタックを破壊するために、Windows環境(パス、レジストリ)を汚さずにAnacondaをインストールします
  • 必要な特定のアドオンでAnacondaを構成し、
  • 適切なAnacondaコンテンツを認識できるようにArcGISのPythonを構成します。

1)すべてのユーザーにAnacondaをインストールします

  1. http://continuum.io/downloadsにアクセスします
  2. 32ビットバージョンのAnaconda(Python 2.7)をダウンロードします
  3. インストールダイアログで:
    • すべてのユーザーのインストールを選択
    • デフォルトでフォルダーにインストール(C:\ Anaconda2)
    • 重要:ArcGIS(または他のソフトウェア)の破損を防ぐために、チェックボックスをオフにします(a)AnacondaをデフォルトのPythonにし、(b)AnacondaのPythonをPATHに追加します。
  4. [スタート]> [すべてのプログラム(アプリ)]> [Anaconda2(32ビット)]> [Anacondaプロンプト]に移動します。右クリックして、管理者として実行します

2)ArcGISで使用するためのAnaconda環境の構成

  1. ArcGISが使用しているnumpyおよびmatplotlibのバージョンを見つけます。
ArcMapとそのPythonウィンドウを 開き、次のコマンドを入力します。

    • >>> sys、numpy、matplotlibをインポート
    • >>> print(sys.version、numpy .__ version__、matplotlib .__ version__)
    • (「2.7.10(デフォルト、2015年5月23日、09:40:32)[MSC v.1500 32ビット(Intel)]」、「1.9.2」、「1.4.3」)
  1. ArcGISと互換性のあるAnaconda環境を作成する
    • Anacondaコマンドプロンプトにアクセスし([スタート]> [すべてのプログラム(アプリ)]> [Anaconda2(32ビット)]、[ Anacondaプロンプト]を選択)、右クリックして[管理者として実行]をクリックします
    • タイプ(ArcGISバージョンに応じて、ここでは例としてArcGIS 10.4を使用しています):
    • 「conda create -n arc104 python = 2.7.10 numpy = 1.9.2 matplotlib = 1.4.3 pyrding xlrd xlwt pandas scipy ipython ipython-notebook ipython-qtconsole」
    • yを入力して続行します。
    • Anacondaのcondaコマンドは、環境サブディレクトリ(例: "C:\ Anaconda2 \ envs \ arc104")をセットアップし、ダウンロードしたパッケージをインストールします。
  2. 仮想環境をテストする
    • Anacondaコマンドプロンプトで、次のように入力します:activate arc104
    • タイプ:condaリスト。インストールされたパッケージのリストを見ることができます。
  3. パッケージを追加する
    • conda installを使用してさらにパッケージを追加できますが、これらのバージョン番号を指定して、環境のpythonまたはnumpyのバージョンを変更しないようにしてください(そうしないとArcGISはその環境を使用できなくなります)。
    • Python Spatial Analysis Library(pysal)モジュールを追加しましょう。
    • Anacondaプロンプトで次のコマンドを入力します。「conda install -n arc104 python = 2.7.10 numpy = 1.9.2 matplotlib = 1.4.3 pysal」

3)Anacondaを表示するようにArcGISを構成します。

  1. Anaconda PythonからArcPy
    • Desktop10.4.pthファイルをAnaconda環境のsite-packagesフォルダーにコピーします。
    • From:C:\ Python27 \ ArcGIS10.4 \ Lib \ site-packages \ Desktop10.4.pth
    • 宛先:C:\ Anaconda2 \ envs \ arc104 \ Lib \ site-packages \ Desktop10.4.pth
  2. Arcpy to Anaconda Python
    • コンテンツ「C:\ Anaconda \ envs \ arc104 \ lib \ site-packages」を含むzconda.pth(パス)ファイルを作成します。
    • 次に、zconda.pthをC:\ Python27 \ ArcGIS10.4 \ Lib \ site-packagesにコピーします
  3. ArcMapでのテスト
    • 通常のユーザーとして、ArcMapを起動し、Pythonウィンドウを開きます
    • タイプ「import pysal」
    • 「pysal」と入力します。pysalが提供する関数のリストを含むポップアップメニューは、インストールが成功したことを示す良い兆候です。
  4. PyCharmでのテスト
    • PyCharmを起動し、File \ Settings…で、Projectを選択してからProject Interpreterを選択します
    • Project Interpreterのドロップダウンリストを無視し、cogボタンをクリックしてLocalを追加し、ファイルブラウザーでC:\ Anaconda2 \ envs \ arc104 \ python.exeを選択します
    • スクリプトを実行するには、プロジェクトウィンドウでスクリプトを右クリックし、実行またはデバッグを選択します
    • PythonコンソールのPyCharmを再起動して、arc104環境を使用します。

ArcGIS Pro 1.3でAnacondaをセットアップするワークフロー

1)ArcGIS Proと互換性のあるAnaconda環境を作成します

  • C:\ Program Files \ ArcGIS \ Pro \ bin \ Python \ envsからarcgispro-py3フォルダーをコピーし、C:\ Anaconda2 \ envsに貼り付けます
  • C:\ Anaconda2 \ envs のコピーされたフォルダーarcgispro-py3の名前をarcproに変更します。

2)仮想環境をテストする

  • アナコンダコマンドプロンプトで次のように入力し、アクティベートarcpro
  • タイプ:condaリスト。インストールされているパッケージのリストを見ることができます

3)パッケージを追加する

  • Python Spatial Analysis Library(pysal)モジュールを追加しましょう。
  • Anacondaプロンプトで次のコマンドを入力します。「conda install pysal」

4)Anacondaを表示するようにArcGISを構成します。

  • Anaconda PythonからArcPy
    • 「C:\ Anaconda2 \ envs \ arcpro \ lib \ site-packages」内のArcGISPro.pth(パス)ファイルを編集します。
    • 相対ArcPyパスをC:\ Program Files \ ArcGIS \ Pro \ Resources \ ArcPyに変更します
    • 相対ArcToolBoxパスをC:\ Program Files \ ArcGIS \ Pro \ Resources \ ArcToolBoxに変更します
  • Arcpy to Anaconda Python
    • コンテンツ「C:\ Anaconda2 \ envs \ arcpro \ lib \ site-packages」を含むzconda.pth(パス)ファイルを作成します。
    • 次に、zconda.pthをC:\ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ lib \ site-packagesにコピーします
  • ArcGIS Proでのテスト
    • ArcGIS Proを起動し、Pythonウィンドウを開きます
    • タイプ「import pysal」
    • 「pysal」と入力します。pysalが提供する関数のリストを含むポップアップメニューは、インストールが成功したかなり良い兆候です。
  •  PyCharmでのテスト
    • PyCharmを起動し、File \ Settings…で、Projectを選択してからProject Interpreterを選択します
    • Project Interpreterのドロップダウンリストを無視し、cogボタンをクリックしてLocalを追加し、ファイルブラウザーでC:\ Anaconda2 \ envs \ arcpro \ python.exeを選択します
    • スクリプトを実行するには、プロジェクトウィンドウでスクリプトを右クリックし、実行またはデバッグを選択します
    • PythonコンソールのPyCharmを再起動して、arcpro環境を使用します。

参照資料

  1. https://goo.gl/pOyLA9

これはすべてうまく機能します。AnacondaパッケージはArcGIS内にあり、その逆もありますが、まだ問題があります。AnacondaのRDBMS(Oracle)ソースフィーチャクラスでarcpyをインポートしてからarcpy.Describeを実行しようとすると、IOError:... does not existが発生します。filegeodatabaseフィーチャクラスでは正常に動作しますが、Oracleには接続していないようです(たとえば、arcpy.Describe(r'C:\ temp \ password_saved_sde_file.sde \ EDGIS.ElectricDataset \ EDGIS.Anchor '))。
フィル・ペン

7

これに対処するには、python27 \ Lib \ site-packagesフォルダーを参照します。鉱山は「C:\ Python27 \ ArcGIS10.1 \ Lib \ site-packages」の下にあり、Desktop10.1.pthファイルを見つけます。

私のシステムでは、Desktop10.1.pthファイルを「C:\ AppData \ Local \ Continuum \ Anaconda \ Lib \ site-packages」にコピーするだけで問題は解決しました。

Anaconda 64ビットを実行している場合、ArcGISは32ビットを実行するため、arcpyをインポートしようとすると別のエラーが発生します。したがって、ArcGISと一致するように、64ビットではなく32ビットのAnacondaがインストールされていることを確認する必要があります。ファイルがコピーされ、Anaconda 32ビットがあれば、arcpyのインポートが機能するはずです。


3

Anacondaの前にArcをインストールした場合、デフォルトのIDLE、Pythonウィンドウ(Arc内)、およびPythonコンソールは、常にArcにインストールされたモジュール、つまりC:\Python27\ArcGIS <version>\Lib(および/または)から取得しますLib\site-packages。PythonのArcのインストールで使用したいパッケージをAnacondaでインストールしている場合、Pythonインストール間で共有するために.pthファイルを作成する必要があります(簡単な読み物)。

たとえば、Anacondaのものからpandasパッケージを使用したいと考えました。ArcのインストールをAnacondaサイトパッケージにリンクするために、Arcのsite-packagesフォルダーanaconda.pthにコンテンツを含むテキストファイルを作成しましたC:\Anaconda\Lib\site-packages。これでimport pandas、ImportErrorなしでArcがインストールされたPythonの内部に入れることができました。(numpyで問題が発生した場合は、Arcがインストールされているnumpyフォルダーの名前をに変更します_numpy)。

Desktop<version>.pth逆に、Arc site-packagesフォルダーからファイルをコピーしてAnacondaの(arcpyパッケージの実際の場所を指定する)に貼り付け、AnacondaのArcサイトパッケージフォルダーを指す別の.pthファイルを作成します。使用する場合、SpyderのArcのパッケージを使用できます。


2

別のユーザーがgithubで同様の質問をしましたが、これは興味があるかもしれません。anacondaのarcpyオートコンプリートデータをインポートするために1人のユーザーが推奨したことの要点は次のとおりです。

DamnWidgetは2月26日にコメントしました https://github.com/DamnWidget/anaconda/issues/284

PowerShellまたはCMD.exeを開き、Sublime Text 3%APPDATA%のPackagesフォルダーの下のanacondaインストールに移動します。CDをanaconda_libフォルダーに入れ、そのパスでインタラクティブなPythonインタープリターを起動します。

以下をコピーして貼り付けます。

import jedi

print(jedi.Script('import arcpy; arcpy.').completions())

それから(少なくとも私にとっては)cmdウィンドウに大量のものを返し、うまくいったように見えました。Sublime Textを再度開き、arcpy関数のオートコンプリートをプルアップします。

私の問題は、それらをロードするのに5秒以上かかることであり、数秒以上アークピーをメモリにロードしたままにしないようです。しかし、それは別の問題だと思います...


1

Anacondaの32ビットバージョンをインストールする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.