Enthought CanopyからEsri ArcPyモジュールにアクセスする方法は?


10

WindowsシステムでArcGIS 10.1を実行しています。また、新しい32ビットCanopy Express Enthought Pythonディストリビューションもインストールしています。

CanopyからEsri ArcPyモジュールをロードして使用することは可能ですか?


私は最初の答えの解決策を使用して完璧に機能しましたが、キャノピーx64が必要です。このライブラリをキャノピーx64にインポートする方法はありますか?
ΜανώληςΠαναγιωτάκης

回答:


20

システムのPATHやPYTHONPATHをいじる必要のない簡単な方法があります。

Canopy x32を含むEnthought Pythonディストリビューションはスタンドアロンであり、レジストリや環境変数に何も必要ありません。そのため、ArcGIS 10.1に付属するものなど、他のPythonディストリビューションとうまく連携できます。

Enthought CanopyからArcGIS 10.1 Pythonモジュールにアクセスするには:Canopyユーザーディレクトリに、ArcGIS 10.1 Pythonモジュールを指す「パス」ファイルを作成します。私のシステムでは、arcpy.pth次の4行で呼び出されるテキストファイルを作成しました。

# .pth file for arcpy
C:\ArcGIS\Desktop10.1\bin
C:\ArcGIS\Desktop10.1\arcpy
C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

そしてarcpy.pth、Canopy Userのsite-packagesディレクトリに配置します。

C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\lib\site-packages

ArcGIS 10.1からEnthought Canopyモジュールにアクセスするには:Canopy pythonモジュールを指す「パス」ファイルをArc site-packagesフォルダーに作成します。私のシステムでは、epd.pth次の3行で呼び出されるテキストファイルを作成しました。

# .pth file for EPD Canopy
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\Lib\site-packages
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\System\Lib\site-packages

次にepd.pth、Arc site-packageフォルダーに配置します。

C:\Python27\ArcGIS10.1\Lib\site-packages

私がする必要があるのはそれだけです!

-リッチ

PSこれは、Enthought Canopy 1.0とArcGIS10.1が同じバージョンのPython(2.7)とNumpy(1.6.1)であるため機能します。この互換性を維持できることを願っています!

更新: Numpy 1.7.1を使用するCanopy 1.0.3でこれを試したところ、ArcGIS 10.1がNumpy 1.6.1であっても引き続き機能します。ばんざーい!イッピー!


3
注意事項:1. ArCGIS Desktopで使用するEPD / Canopy x32がインストールされていることを確認してください。2. pthファイルはアルファベット順に読み込まれるため、競合を回避するために、「zzArcGIS.pth」(Canopy site-packagesフォルダー)および「zzEPD.pth」(ArcGIS site-packagesフォルダー)という名前を付けました。3. ArcGIS Desktop x64 Background GP、または(Python x64を使用する)ArcGIS Serverを使用している場合は、64ビットEPD / Canopyをインストールし、64ビットEPDおよびArcGIS Pythonサイトパッケージフォルダーを指す.pthファイルを追加する必要があります。 。
カーティス価格

3

はい、そうです。これは私のマシンで同じことをするために使用された内部インストールガイドからの抜粋です(これらがあなたの特定のマシンに適用されることを確認してください):


EPDの環境を構成する

  1. ユーザー変数に新しいPATHを追加します(PATHの前にepdを追加します)。

    (使用しているEPDまたはArcGISのバージョンに応じて、以下のパスを編集してください) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. ArcGISがインストールされている場合は、PYTHONPATH環境変数を設定して、
    ArcGISがEPDモジュールをインポートできるようにし、EPDがArcPyをインポートできるようにします。

    PYTHONPATH= C:\Python27_epd32\lib\site-packages; C:\ArcGIS\Desktop10.1\bin; C:\ArcGIS\Desktop10.1\arcpy; C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

EPDと競合するArcGISで問題が発生した場合、PYTHONPATHでEPDへの参照を削除することにより、ArcGIS環境からEPDを簡単に削除できます。


免責事項! 以下の手順は以前はうまくいきましたが、私はDOSに精通しているわけではないので、IT部門の誰かに相談して、私が不適切なアドバイスを提供していないことを確認した方がいいと思います。それで、読んでください...

環境変数へのパスの追加は、DOSコマンドプロンプト([すべてのプログラム]> [アクセサリ]> [コマンドプロンプト])を使用すると、かなり簡単です。コマンドsetxを使用してPATHPYTHONPATH環境変数を永続的に変更します。

コマンドプロンプトで「echo %PATH%」と入力します。PATH変数である文字列を出力します。それは本質的に単なる長い文字列です。次に、PYTHONPATH変数を使用して、その内容を確認してください。これらの変数の各パスはセミコロン(;)で区切られています。これらの変数に新しいパスを追加するときは、これらを含める必要があります。

ここに画像の説明を入力してください

基本的に、あなたの新しい欲しいもの、あなたがコンピュータを語っていることになるだろうPATHPYTHONPATHいくつかの新しい(のような文字列(パス(S))と等しくなるように変数をC:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;)プラス何すでに変数に格納されていますが。

PATH変数を設定するために実行するコマンドは次のとおりです setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(これらのパスがシステムに適用可能であることを確認してください)

ここに画像の説明を入力してください

PYTHONPATH変数を設定するために実行するコマンドは次のとおりです setx PYTHONPATH=C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;C:\ArcGIS\Desktop10.1\arcpy;C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts;%PYTHONPATH%(これらのパスがシステムに適用可能であることを確認してください)

注:それぞれのコマンドの最後に「%PATH%」と「%PYTHONPATH%」を必ず追加してください。そうしないと、これらの変数が新しいパスのみで上書きされ、現在の内容が失われます。


ありがとう、ジェイソン!ただし、これを行う方法についてもう少し詳細が必要です-ユーザー変数を編集するにはどうすればよいですか?
SharonB 2013

DOSコマンドプロンプトで、SETXコマンド(stackoverflow.com/questions/8358265/…の 2番目の回答)を使用して、PATHおよびPYTHONPATH変数へのパスを完全に付加する必要があります。私が正しく覚えている場合は、いくつかの管理ツールを使用してこれを行うこともできますが、仕事用のコンピューターでそれらを使用する権限がないため、通常はDOSウィンドウを使用します。
Jason

もう一度ありがとう...主にIDLEで作業する初心者のPython-erとして(DOSコマンドプロンプトに触れたことはありません)新しいPATHおよびPYTHONPATH環境変数について/追加する方法がわかりません。おそらくスクリーンショットおよび/またはGUI(DOSではない)を介してこれを行うオプション?
SharonB 2013

うわあ。ありがとうございました。これは印象的です。どうぞよろしくお願いいたします。
SharonB 2013

へへ、それは単純なプロセスですが、すべてのパスのために複雑に見えます!あなたのすべての仕事が一緒になってほしいです!
Jason
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.