VirtualenvでのArcGIS 10.0の実行


12

コマンドラインツールとArcToolboxツールが混在するPythonパッケージに取り組んでいます。Pythonの開発では、特にインストーラーを使用する場合、VirtualEnvを使用すると非常に便利です。ArcMapまたはArcCatalogにPythonの現在のVirtualEnvセッションを認識させる方法はありますか?カスタムツールが実行されると、c:\ Python26 \ ArcGIS10のデフォルトのPythonパスとパッケージの代わりにVirtualEnv Pythonパスとパッケージを使用します.0?

回答:


11

これはアプリケーションには組み込まれていませんが、cmd.exeセッションでvirtualenvをセットアップするバッチファイルを実行し、同じDOSボックスからarcmap.exeを実行すると、virtualenvが取得されると思います。ArcMapとその友人、パスを少し変更して、インストールarcgisscriptingとを含めますarcpy

編集:デスクトップアプリのPythonウィンドウ内からactivate_thisスクリプトを明示的に呼び出して、これを機能させる必要があります。VirtualEnvがある場合、ArcGISデスクトップアプリのPythonウィンドウからc:\Users\jason\myenv発行execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})して実行します。


それはうまくいかないようです。VirtualEnvワークスペースを作成してアクティブにし、ArcCatalog内でテストするパッケージをインストールしました。ここまでは順調ですね。このVirtualEnvセッション内でPythonシェルを開き、新しくインストールしたパッケージをインポートすると、インポートは機能します。その後、ArcCatalogを起動し、これらのパッケージの1つをツールボックススクリプトから呼び出そうとすると、動作しません。ArcCatalog内のPythonシェルからsys.pathを見ると、ArcGIS 10.0のデフォルトのPythonディレクトリ(C:\ Python26 \ ArcGIS10.0)が表示されています。
SagebrushGIS

4
activate_this.pyArcCatalogおよびフレンドのPythonウィンドウから、VirtualEnvの同じScriptsディレクトリでもスクリプトの使用を検討してください。execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})ArcMap内からVirtualEnv を実行してブートストラップすることができました。
ジェイソンシャイラー

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