SP1 for ArcGIS 10.1には、バックグラウンドジオプロセシング用の64ビットPythonの拡張機能があります-他のPythonの使用に対する影響


12

64ビットバックグラウンドジオプロセシングfor ArcGIS Desktop 10.1sp1がインストールされている場合、それは一般的な使用のPython構成にどのように影響しますか?

EsriはArcGIS 10.1製品のSP1をリリースし、デスクトップコンポーネントでは、インストール時にEsri 32ビットPython 2.7コールをバックグラウンドジオプロセシングの64ビットコールに置き換えた64ビットPython 2.7.2インスタンスを利用可能にしましたアクティブなArcGIS Desktop GUIセッションのサイド)。

インストールはオプションです。つまり、インストールしない場合、ArcGIS Desktopは32ビットのユーザーメモリ領域のみを使用して続行します。これにより、\ bin64エントリがEsriプログラムフォルダーに作成され、64ビット処理用のレジストリキーが「HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcGIS 10.1 SP1 for Desktop Background Geoprocessing(64-bit)」で確立され、その後バックグラウンドジオプロセシングが行われます64ビットのメモリ空間で行われます。

Esriの32ビットと64ビットPythonの両方が完全な2.7.2インストールです。

Esriのレジストリのバックグラウンドジオプロセシング中に、パスおよび構成ファイルが64ビットPython実行可能ファイルの呼び出しを処理します。32ビットPythonの使用は、必要に応じてArcGIS Desktopセッションで保持されます。

したがって、インストールされた64ビットPython 2.7.2をArcGIS以外のコンピューティングニーズに統合するかどうかは、各ユーザーに任されています。そして、32ビット版と64ビット版の両方のPythonがシステムに常駐している場合、どのようにそれを行うのが最善でしょうか?

別の方法で尋ねられます--Esriは、ArcGIS Desktop内での64ビットPythonの統合を処理しますが、ArcGIS以外の残りのユースケース向けにどのように構成するのでしょうか?


このパッケージのインストールを監視するために、Process Monitorなどを使用しましたか?自分でそれをやろうと考えていました。
blah238

いいえ、ファイルシステムとレジストリの変更を確認しました
V Stuart Foote

3
64ビットのバックグラウンドジオプロセシングのパフォーマンステストの前後に簡単にテストを行いました。わずかな(10%)改善だけが期待されるべきかどうかはわかりません。
PolyGeo

4
@Arabella-32ビットへのスワッピングが何かを速くすることを期待していませんし、リンクされた10%の改善は統計的に有意ではないようです。主な違いは、64ビットバージョンでは、ジオプロセスが4GB以上のRAMを使用できることです。それ以外は接線方向になります。
GIS-ジョナサン

2
@PolyGeo-基本的に、32ビットと64ビットのコアの違いは、32ビットアプリケーションは4GB以上のRAMを使用できないことです(それらは単にそれに対処することはできません-実際には、フラグやものに応じてWindowsでは2GBまたは3GB)とにかく、32ビットと64ビットの利点を真に見るためには、4GB以上のRAMを使用するテストを実行する必要があります。もちろん、ESRIがバージョン間で行った最適化があるかもしれませんが、32/64ビット時代自体はコアレベルでのRAMの使用のみを扱います。
GISジョナサン

回答:


1

したがって、インストールされた64ビットPython 2.7.2をArcGIS以外のコンピューティングニーズに統合するかどうかは、各ユーザーに任されています。そして、32ビット版と64ビット版の両方のPythonがシステムに常駐している場合、どのようにそれを行うのが最善でしょうか?

私が理解したように、あなたはPythonの異なるバージョンを区別し、ニーズに応じてそれを使用する方法を尋ねている。

最も簡単な方法は、スクリプトの実行に使用するインタープリターを正確に指定することです。詳細については、この SO q / aをご覧ください。


ある意味で。しかし、スクリプト作成中にこれをプログラムで行うことにもっと興味があります。PYTHONHOMEとPYTHONPATHを切り替えてから、sys.path.append()呼び出しまたはsite.addsitedir()でそれらを操作して、32ビットまたは64ビットのPythonを使用するようにシステムを再構成する方法。1つのPythonバージョンまたは別のPythonバージョンを呼び出すというSO q / aでの提案は、ちょっと粗雑です。課題は、フィネスがサイトモジュールを柔軟に利用し、IDEで確実に動作することです。単純なパスとサイトパッケージの操作を超えて、32ビットおよび64ビット環境のvirtualenvで複数のPython構成を持つことが可能です。
Vスチュアートフット

スクリプトでは、たとえばサブプロセスモジュールを使用してコマンドラインから必要なインタープリター(x32またはx64)で呼び出すことにより、他のpythonスクリプトの実行を呼び出すことができます。
アレックスマルコフ

0

私にとっては、これが必要なことでした...そして、すべてが「適切に」機能しているのかまだわかりません。64ビットのバックグラウンドジオプロセシングツールをインストールし、PYTHONPATHを変更して(たとえば、デフォルトのpythonから)使用すると、ArcMapのすべて(たとえば、32ビットコンソールpython)が破損したようです。そこで、次の回避策を思いつきました。YMMV

1)64ビットのバックグラウンドジオプロセシングツールをダウンロードして実行します:幸いなことに、私は一度それを見つけました!私は再びリンクを見つけることができないようです...

2)システムPYTHONPATHに以下を追加します(デフォルトで64ビットを使用していると仮定):; C:\ Python27 \ ArcGISx6410.1 \ DLLs; C:\ Python27 \ ArcGISx6410.1 \ lib; C:\ Python27 \ ArcGISx6410 .1 \ lib \ plat-win; C:\ Python27 \ ArcGISx6410.1 \ lib \ lib-tk; C:\ Python27 \ ArcGISx6410.1; C:\ Program Files(x86)\ ArcGIS \ Desktop10.1 \ bin64; C:\ Program Files(x86)\ ArcGIS \ Desktop10.1 \ arcpy; C:\ Program Files(x86)\ ArcGIS \ Desktop10.1 \ ArcToolbox \ Scripts

3)Arcmap Pythonのスタートアップスクリプトを作成して、PYTHONPATHからの64ビットインポートと混同しないようにします

import sys
if sys.executable in ['C:\\Python27\\ArcGIS10.1\\python.exe', 'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin\\ArcMap.exe']:
    print('Resetting Path')
    sys.path = [
        #python32 for ESRI
        'C:\\windows\\system32\\python27.zip',
        'C:\\Python27\\ArcGIS10.1\\DLLs',
        'C:\\Python27\\ArcGIS10.1\\lib',
        'C:\\Python27\\ArcGIS10.1\\lib\\plat-win',
        'C:\\Python27\\ArcGIS10.1\\lib\\lib-tk',
        'C:\\Python27\\ArcGIS10.1',
        'C:\\Python27\\ArcGIS10.1\\lib\\site-packages',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\arcpy',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\ArcToolbox\\Scripts',
        #defaults
        'C:\\Python27\\Lib\\',
        'C:\\Python27\\Lib\\site-packages',
        'C:\\pythonnet'
        ]

import arcpy 
from arcpy import env

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