IDLEを使用する場合、インポートarcpyエラー(RuntimeError:NotInitialized)を回避しますか?


11

ArcGISバージョン:ArcGIS 10、Python 2.6.5マシン:Windows 7 64ビット(Intel)

IDLE(guiおよびcmdプロンプト)を使用してarcpyをインポートし、pythonwinを使用すると、次のエラーが表示されます。

python26とpython25をシステムから削除し、ArcGIS 10とpythonを新規インストールしました。したがって、ここからIDLEを呼び出しています: "C:\ Python26 \ ArcGIS10.0 \ pythonw.exe"

エラー:

**アイドル2.6.5

インポートarcpyトレースバック(最後の最後の呼び出し):ファイル ""、1行目、インポートarcpyファイル "C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __。py"、17行目からジオプロセシングインポートgpファイル「C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __。py」、14行目から_base import *ファイル「C:\ Program Files(x86)\ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py "、行568、env = GPEnvironments(gp)ファイル" C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py "、行565 、GPEnvironmentsでGPEnvironment(geoprocessor)ファイル「C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py」、521行目、初期化中 self._refresh()ファイル「C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py」、523行目、_refresh envset =(set(env for env in self._gp.listEnvironments ()))RuntimeError:NotInitialized **

EsriUKとEsriの技術サポートは、再インストールとレジストリの編集を推奨していますが、これは機能していません。私は彼らが解決するのを待っています。

モジュールのアークピーパスの問題であるかどうかを調査しました。Esriフォーラムおよびパスに関するArcGISヘルプには、いくつかのリンクがあります。また、gis.stackexchangeの関連する可能性のあるスレッド。

Esriフォーラムスレッドの「kimo」のアドバイスに従いました。しかし、それでもインポートエラーです。

  1. 私が編集したシステム変数は次のとおりです。PYTHONPATH= "c:\ python26"; "C:\ Python26 \ ArcGIS10.0"; "C:\ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy "

  2. 「C:\ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth」の内容があることを確認しました。内容は次のとおりです。C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ bin C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

ただし、トレースバックメッセージは、フォルダーにC:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcpyの.pyスクリプトが見つかったことを示しています。したがって、arcpyモジュールはインタープリターによって検出されたが、初期化されていない(?)ことを示唆しています。

Arcpyは、ArcMapおよびArcCatalog内のPythonウィンドウから呼び出すことができます。'import arcpy'が失敗するのは、Pythonインタープリターから呼び出されたときだけです。したがって、ArcMapはArcMap / ArcCatalogによって初期化されますが、IDLEは初期化されません。

以前にpython25をインストールし、次にpython26をインストールしてから、ArcGIS 10にアップグレードしました。したがって、マシンにはかなりの数のレガシーPythonがありました。ただし、すべてをアンインストールし、ccleanerを使用してレジストリをクリーンアップしました。

初期化/実行時エラーを解決するのに十分なpythonの経験がないので、誰かが別の問い合わせを提案できますか?OSの再インストールも避けたいです!


また、上...投稿forums.arcgis.com/threads/...

1
このリンクは私を助けてくれました。arcpyラインをインポートする前にインポートarcserverを追加しました。myarcgisserver.wordpress.com/2014/04/04/...
G ...... T ......

回答:


5

こことESRIフォーラムの投稿を見ると、混乱した環境設定があると思います。

システムのPATH変数にC:\ Python26 \ ArcGIS10.0を配置すると、IDLE、PythonWin、またはコマンドラインから正しい実行可能ファイルを取得できます。

PYTHONPATHは空である可能性があります。または、Desktop10.pthファイルの3つのスタンザを含めることもできます。C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ bin C:\ Program Files; (x86)\ ArcGIS \ Desktop10.0 \ arcpy; C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts--これらのパスは、モジュールのデフォルト検索よりも優先されます(呼び出されるpython.exeまたはpythonw.exeの下)。

最後に、いくつかのバージョンのPythonをアンインストールしてインストールしたので。この時点で、C:\ Python26フォルダーの下には、ESRIが提供するPython 2.6.5 32ビットインストールのArcGIS10.0フォルダーを除いて何もありません。Libファイルがある場合、それは以前のインストールの残りであり、干渉します。以前のPython26インストールが64ビットであった場合、それはより大きな問題になります。

また、64ビットWindows 7を使用しているため、32ビットPythonキーへのレジストリパスはHKLM \ SOFTWARE \ Wow6432Node \ Pythonです。HKLM\ SOFTWARE \ Pythonがある場合、それらは64ビットのキーになります。インストール。また、32ビットインストールにも干渉します。


こんにちはスチュアート。情報をありがとう。forums.arcgis.comで返信しました。サム
フランクリン

geoprocessing_base.py見つかっているという事実(スタックトレースを参照)は、モジュールの検索に問題がないことを強く示唆しているため、修正する提案がなくなりますPYTHONPATH。64と32のPythonが競合しているのは、両方がオンのPATH場合のみです。ただし、64ビットバージョンが削除されている場合は、有効にすることはできませんPATH。(たとえ場所が何らかの形で残っていてもPATH、それ以上見つけるものはありません。)
jpmc26

5

新しい環境でスクリプトを設定するときにこの問題に遭遇しました。ArcGISAdministratorを使用してライセンスマネージャーサーバーを設定するのを忘れていました。


2

これを行う

  1. arcgisアプリケーションマネージャーを開く
  2. ライセンスマネージャーを設定する

使用可能な各ライセンスレベルの数を確認します。特定のライセンスレベルをarcpyでチェックアウトする場合は、次のようにコーディングする必要があります。

import arcview
import arcpy

こんにちは-arcviewをインポートしようとしました。次のエラーを受け取りました。しかし、私は大丈夫を使用できますか?>>> arcviewトレースバックのインポート(最新の呼び出しが最後):ファイル「<pyshell#3>」、行1、<module>インポートarcviewファイル「C:\ Program Files(x86)\ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py "、18行目<module> gp.setProduct(" ArcView ")RuntimeError:ERROR 999999:関数の実行エラー。>>> arcpyをインポート>>>完全な回答を提供しました:bit.ly/ggtlioで、スクリーンショットを添付してより完全な回答を提供できます。
サムフランクリン

2

これは私がやったことです、パスとPYTHONPATH環境変数

これで十分です。

PyScripterを使用しましたが、2.7バージョンをダウンロードしました。インポート2.6


0

私の場合、ArcGISライセンスを検証するためにネットワークに直接接続したり、VPN経由で接続したりしていませんでした。ネットワークに接続すると、「RuntimeError:NotInitialized」というエラーが解決され、スクリプトが正常に実行されました。

1)arcgisアプリケーションマネージャーを開く2)ライセンスマネージャーを設定する

お役に立てれば!

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