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.
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 "
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!
Respostas:
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.
fonte
geoprocessing_base.py
ser 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çãoPYTHONPATH
. 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 ativadasPATH
. (Mesmo que a localização de alguma forma permanece emPATH
, não há nada para encontrar mais.)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.
fonte
faça isso
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
fonte
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
fonte
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!
fonte