IDLE kullanılırken içe aktarma arkpy hatası (RuntimeError: NotInitialized) önleniyor mu?


11

ArcGIS Sürümü: ArcGIS 10, Python 2.6.5 Makine: Windows 7 64bit (Intel)

IDLE (gui ve cmd istemi) kullanarak arcpy alırken ve pythonwin kullanırken aşağıdaki hatayı alıyorum.

Sistemimden python26 ve python25'i kaldırdım ve ArcGIS 10 ve python'un yeni bir kurulumunu yaptım. Bu nedenle buradan IDLE çağırıyorum: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

Hata:

** BOŞLUK 2.6.5

import arcpy Traceback (en son çağrı son): "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", satır 17'deki coğrafi işlemden dosya içe aktarma gp Dosyası "C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", satır 14, _base'den içe aktarma * Dosya "C: \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", satır 568, env = GPEnvironments (gp) Dosyası" C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", satır 565 , GPEnvironments'ta GPEnvironment (geoprocessor) Dosyası "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", satır 521,başlangıçta self._refresh () Dosya "C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", satır 523, _refresh envset = (set (self._gp.listEnvironments içindeki env için env ())) RuntimeError: NotInitialized **

EsriUK ve Esri teknik desteği, yeni yeniden yükleme ve kayıt defteri düzenlemeleri = önerdi ancak bu işe yaramadı. Onları bir çözüm bekliyorum.

Ben bir modül arcpy yolu sorunu olup olmadığını araştırdım. Esri forumlarında ve ArcGIS yardımında yollarla ilgili birkaç bağlantı var . Ayrıca, gis.stackexchange üzerinde olası ilgili bir iş parçacığı .

Esri forum iş parçacığında 'kimo' dan tavsiye izledi. Ama yine de içe aktarma hatası.

  1. Sistem değişkenim (düzenlediğim): PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-Packages"; " C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-Packages \ Desktop10.pth" içeriğine sahip olduğumu kontrol ettim. İçindekiler: 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

Ancak, geri izleme iletisi klasörde bir .py komut dosyası bulunduğunu gösterir: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Bu nedenle, arcpy modülünün yorumlayıcı tarafından bulunduğunu ancak başlatılmadığını (?) Önerir.

Arcpy, ArcMap ve ArcCatalog içindeki Python Penceresinden çağrılabilir. Sadece bir Python yorumlayıcısından çağrıldığında 'içe aktarma noktası' başarısız olur. Bu nedenle, arcpy ArcMap / ArcCatalog tarafından tamamlandı, ancak IDLE değil - bu nasıl olabilir?

Daha önce bir python25, sonra python26 yükledim, daha sonra ArcGIS 10'a geçtim. Bu nedenle, makinemde oldukça fazla eski python vardı. Ancak, tüm kaldırdım ve ccleaner kullanarak kayıt defteri temizledim.

Başlatma / çalışma zamanı hatalarını çözmek için yeterince python ile deneyimli olmadığım için başka bir sorgulama önerisi önerebilir miyim? İşletim sistemini yeniden yüklemekten de kaçınmak istiyorum!


Ayrıca üzerinde gönderildi ... forums.arcgis.com/threads/…

1
Bu bağlantı bana yardımcı oldu. Arcpy hattını içe aktarmadan önce import arcserver ekledim. myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

Yanıtlar:


5

Buradaki ve ESRI Forumlarındaki yayınlarınıza baktığınızda, bazı karışık ortam ayarlarınız olduğunu düşünüyorum.

C: \ Python26 \ ArcGIS10.0'ı sistem PATH değişkeninize koymak istersiniz, bu sizi IDLE, PythonWin veya komut satırından doğru çalıştırılabilir dosyalara götürür.

PYTHONPATH cihazınız boş olabilir. Veya, Desktop10.pth dosyanızın 3 stanzasını ekleyebilirsiniz: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Program Files; (86) \ ArcGIS \ Desktop10.0 \ arcpy; C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts - bu yollar, varsayılan modül aramasına göre (çağrılan python.exe veya pythonw.exe altında) öncelik kazanacaktır.

Son olarak, Python'un birkaç sürümünü kaldırdığınız ve yüklediğiniz için. Bu noktada, C: \ Python26 klasörü altında, ESRI'nin Python 2.6.5 32-bit kurulumu sağlanan ArcGIS10.0 klasörü dışında hiçbir şey olmamalıdır. Bir Lib dosyası varsa, daha önceki bir yüklemenin kalıntısıdır ve müdahale edecektir. Önceki Python26 yüklemelerinizden herhangi biri veya daha önce 64 bit olsaydı daha büyük bir sorun olurdu.

Ayrıca, 64 bit Windows 7'de olduğunuzdan, 32 bit Python anahtarlarının Kayıt Defteri yolu HKLM \ SOFTWARE \ Wow6432Node \ Python HKLM \ SOFTWARE \ Python'unuz varsa, bunlar 64-bit Anahtarlar olacaktır Yüklemek. Ayrıca 32 bit yüklemeye de müdahale ederler.


Merhaba Stuart. Bilgi için teşekkürler. Ben forums.arcgis.com , Sam
SamFranklin

Bulunması gerçeği geoprocessing_base.py(yığın izine bakın), modülleri bulma konusunda herhangi bir sorun olmadığını ve bu da değişiklik önerisini ortadan kaldırdığını göstermektedir PYTHONPATH. 64 ve 32 Python arasında her ikisi de açıksaPATH bir çakışma olabilir . Ancak, 64 bit sürümler kaldırıldıysa, açık olamazlar PATH. (Konum bir şekilde PATHorada kalsa bile , artık bulabileceğiniz bir şey yok.)
jpmc26

5

Komut dosyasını yeni bir ortamda kurarken bu sorunla karşılaştım .... ArcGIS Administrator kullanarak lisans yöneticisi sunucusunu ayarlamayı unuttum.


2

Bunu yap

  1. arcgis uygulama yöneticisini aç
  2. lisans yöneticisini ayarla

her lisans seviyesinden kaç tanesinin kullanılabilir olduğunu gözden geçirin. arcpy'ın belirli bir lisans seviyesini kontrol etmesini istiyorsanız, böyle kodlamak istersiniz

import arcview
import arcpy

Merhaba - içe aktarılan arcview'i denedi. Aşağıdaki hatayı aldı. Ancak, sonra arcpy kullanabilirsiniz tamam mı? >>> içe aktarma arcview Traceback (en son çağrı son): Dosya "<pyshell # 3>", satır 1, <modül> içe aktarma arcview Dosyası "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", satır 18, <module> gp.setProduct (" ArcView ") RuntimeError: ERROR 999999: İşlev yürütülürken hata oluştu. >>> ithalat arkpy >>> Ben tam bir cevap verdim : bit.ly/ggtlio nerede ekran görüntüleri ekleyebilir ve daha dolu bir cevap sağlayabilir.
SamFranklin

2

Ben de bunu yaptım, Path ve PYTHONPATH Ortam değişkenleri

bu benim için yeterli.

PyScripter kullandım ama 2.7 sürümünü indirdim, ithalat arcpy ile ilgili bir hata almak için python 2.6 için PyScripter kullanmak gerekiyordu


1

Benim durumumda, ArcGIS Lisansını doğrulamak için doğrudan ağa veya VPN aracılığıyla bağlı değildim. Ağa bağlandıktan sonra, "RuntimeError: NotInitialized" hatası çözüldü ve betiğim başarıyla çalıştı.

Her ne kadar ... 1) arcgis uygulama yöneticisini açın 2) lisans yöneticisini ayarlayın ... gotchula tarafından belirtildiği gibi

Bu yardımcı olur umarım!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.