Evitando erro de importação do arco-íris (RuntimeError: NotInitialized) ao usar IDLE?


11

Versão do ArcGIS: ArcGIS 10, Python 2.6.5 Máquina: Windows 7 64bit (Intel)

Estou recebendo o seguinte erro ao importar o arcpy usando o IDLE (prompt de gui e cmd) e ao usar pythonwin.

Eu removi o python26 e python25 do meu sistema e fiz uma nova instalação do ArcGIS 10 e python. Portanto, estou chamando IDLE daqui: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

O erro:

** IDLE 2.6.5

importar traceback arcpy (última chamada mais recente): Arquivo "", linha 1, no arquivo arcpy de importação "C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__init __. py", linha 17, do geoprocessamento import gp Arquivo "C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", linha 14, da _base import * Arquivo "C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", linha 568, em env = GPEnvironments (gp) Arquivo" C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py ", linha 565 , em GPEnvironments retorne o arquivo GPEnvironment (geoprocessador) "C: \ Arquivos de programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", linha 521,em init self._refresh () Arquivo "C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py", linha 523, em _refresh envset = (set (env para env em self._gp.listEnvironments ())) RuntimeError: NotInitialized **

O suporte técnico da EsriUK e Esri recomendou novas edições de reinstalação e registro = mas isso não funcionou. Eu estou esperando por eles por uma solução.

Eu investiguei se era um problema no caminho do arco-íris do módulo. Existem alguns links nos fóruns da Esri e na ajuda do ArcGIS sobre caminhos . Além disso, um possível encadeamento relacionado em gis.stackexchange .

Segui o conselho do 'kimo' no tópico do fórum da Esri. Mas ainda assim o erro de importação.

  1. Minha variável de sistema (que eu editei) é: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Arquivos de programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. Eu verifiquei que tenho o conteúdo de "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth". O conteúdo é: C: \ Arquivos de programas (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Arquivos de programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy C: \ Arquivos de programas (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

No entanto, a mensagem de retorno mostra que um script .py é encontrado na pasta: C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy. Portanto, sugere que o módulo arcpy seja encontrado pelo intérprete, mas não inicializado (?).

Arcpy pode ser chamado a partir da janela Python no ArcMap e ArcCatalog. Somente quando chamado de um intérprete Python é que o 'import arcpy' falha. Portanto, o arcpy é inicializado corretamente pelo ArcMap / ArcCatalog, mas não pelo IDLE - como pode ser isso?

Eu já tinha uma instalação do python25, depois o python26 foi atualizado para o ArcGIS 10. Portanto, havia bastante python legado na minha máquina. No entanto, eu desinstalei tudo e o registro foi limpo usando o ccleaner.

Alguém pode sugerir outra linha de consulta, pois não tenho experiência com python o suficiente para resolver erros de inicialização / tempo de execução? Gostaria de evitar a reinstalação do sistema operacional também!


Também postado em ... forums.arcgis.com/threads/…

1
Esse link me ajudou. Eu adicionei import arcserver antes de importar a linha arcpy. myarcgisserver.wordpress.com/2014/04/04/...
L ...... ...... t

Respostas:


5

Olhando para as suas postagens aqui e nos fóruns da ESRI, acho que você tem algumas configurações de ambiente confusas.

Você deseja colocar C: \ Python26 \ ArcGIS10.0 na variável PATH do sistema, para obter os executáveis ​​corretos do IDLE, PythonWin ou da linha de comando.

Seu PYTHONPATH pode estar vazio. Ou você pode incluir apenas as três estrofes do seu arquivo Desktop10.pth: C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Arquivos de Programas; (x86) \ ArcGIS \ Desktop10.0 \ arcpy; C: \ Arquivos de programas (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts - esses caminhos terão precedência sobre a pesquisa padrão de módulos (abaixo do python.exe ou pythonw.exe sendo chamado).

Finalmente, desde que você desinstalou e instalou várias versões do Python. Neste ponto, não deve haver nada na pasta C: \ Python26, exceto a pasta ArcGIS10.0 da ESRI, que fornece a instalação de 32 bits do Python 2.6.5. Se houver um arquivo Lib, é um resíduo de uma instalação anterior e interferirá. Seria um problema maior se alguma ou suas instalações anteriores do Python26 fossem de 64 bits.

Além disso, como você está no Windows 7 de 64 bits, o caminho do Registro para as chaves Python de 32 bits é HKLM \ SOFTWARE \ Wow6432Node \ Python. instalar. Eles também interfeririam na instalação de 32 bits.


Oi Stuart. Obrigado pela informação. Eu respondi em forums.arcgis.com , felicidades Sam
SamFranklin:

O fato de geoprocessing_base.pyser encontrado (consulte o rastreamento da pilha) sugere fortemente que não há problema em encontrar os módulos, o que elimina sua sugestão de modificação PYTHONPATH. Só pode haver um conflito entre 64 e 32 Python se ambos estiverem ativadosPATH . No entanto, se as versões de 64 bits foram removidas, elas não podem estar ativadas PATH. (Mesmo que a localização de alguma forma permanece em PATH, não há nada para encontrar mais.)
jpmc26

5

Eu encontrei esse problema ao configurar o script em um novo ambiente ... Esqueci de configurar o servidor do gerenciador de licenças usando o ArcGIS Administrator.


2

faça isso

  1. gerenciador de aplicativos arcgis aberto
  2. definir o gerenciador de licenças

revise quantos de cada nível de licença estão disponíveis. se você quiser que o arcpy verifique um nível de licença específico, codifique assim

import arcview
import arcpy

Oi - tentei importação arcview. Recebeu o seguinte erro. No entanto, eu poderia usar o arcpy, ok? >>> importar arcview Traceback (última chamada mais recente): Arquivo "<pyshell # 3>", linha 1, em <module> importar arcview Arquivo "C: \ Arquivos de Programas (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", linha 18, em <module> gp.setProduct (" ArcView ") RuntimeError: ERRO 999999: Erro ao executar a função. >>> import arcpy >>> Forneci uma resposta completa em: bit.ly/ggtlio, onde eu podia anexar capturas de tela e fornecer uma resposta mais completa.
SamFranklin

2

Foi o que fiz, as variáveis ​​de ambiente Path e PYTHONPATH

isso é suficiente para mim.

Eu usei o PyScripter, mas baixei a versão 2.7. Era necessário usar o PyScripter para python 2.6 para não haver erro com o import arcpy


0

No meu caso, não estava conectado diretamente à rede ou através da VPN para validar a licença do ArcGIS. Uma vez conectado à rede, o erro "RuntimeError: NotInitialized" foi resolvido e meu script foi executado com êxito.

Embora você precise ... 1) abrir o gerenciador de aplicativos arcgis 2) definir o gerenciador de licenças ... como mencionado por gotchula

Espero que isto ajude!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.