Spouštění skriptů Python na PC s instalací ArcGIS for Server i Desktop

2. 12. 2014
  • Desktopový GIS
  • ArcGIS 10.2
  • ArcGIS 10.3

Od verze 10.1 se ArcGIS for Server stal výhradně 64bitovou aplikací, zatímco aplikace ArcGIS for Desktop zůstává nadále 32bitová. Po instalaci obou produktů na stejném PC máme k dispozici jak 32bitovou, tak i 64bitovou verzi skriptovacího jazyka Python a je zcela na nás, pomocí jaké verze budeme naše skripty spouštět. Problém může nastat v případech, kdy na 64bitové verzi Pythonu nevědomky spouštíme skripty psané pro ArcGIS for Desktop. Pro běh skriptu je v tomto případě využíván 64bitový modul ArcPy instalovaný s ArcGIS for Server, který nepodporuje všechny geoprocessingové nástroje z ArcGIS for Desktop ani některé zdroje dat.

Abychom se vyhnuli těmto nepříjemným situacím, je vždy dobré před spuštěním samotného skriptu vědět, s jakou verzí Pythonu se pokoušíme náš skript spustit. Jako výchozí verzi, která je použita pro spuštění skriptu, používá operační systém verzi, která byla instalována jako poslední. Pokud jsme tedy na PC instalovali nejprve ArcGIS for Desktop (32bitový Python) a následně ArcGIS for Server (64bitový Python), jsou skripty vždy v 64bitovém prostředí.

Pojďme si ukázat několik způsobů, jak zajistit spuštění skriptu pod konkrétní verzí Python:

  • Pokud voláme skript z příkazové řádky, můžeme explicitně nastavit, s jakou verzí má náš skript běžet, viz obr. V tomto případě je skript spuštěn s 32bitovou verzí Python (pro spuštění pod 64bitovou verzí bychom zvolili
    c:\Python27\ArcGISx6410.2\python.exe).

Spouštění Python skriptů

  • Asociace souborů PY s příslušnou verzí Python na bázi operačního systému:
    < >V průzkumníku Windows klikneme pravým tlačítkem na náš skript a z kontextového menu vybereme Otevřít v programu > Zvolit výchozí program.Vybereme příslušný soubor python.exe:Spuštění skriptu dle verze IDE (vývojového prostředí). Pokud spouštíme skript v 32bitovém IDE, použije se 32bitová verze Pythonu a analogicky v 64bitovém IDE se používá 64bitová verze.
  • V případě, že potřebujeme explicitně ověřit verzi Pythonu, můžeme využít následující syntaxi:

import sys

print sys.version

 

 

Autor: Ondrej Chlup