Vairāk

Izveidojot Python pievienojumprogrammas ArcMap pēc ArcGIS Pro instalēšanas, tiek novērsts dubultklikšķis uz makeaddin.py palaišanas Python 2.x?

Izveidojot Python pievienojumprogrammas ArcMap pēc ArcGIS Pro instalēšanas, tiek novērsts dubultklikšķis uz makeaddin.py palaišanas Python 2.x?


Aptuveni pēdējās nedēļas laikā esmu diezgan daudz strādājis ar Python pievienojumprogrammām Windows 7 SP1 konfigurācijā ar instalētu ArcGIS 10.3.1 darbvirsmai un ArcGIS Pro 1.0.2. Es arī instalēju Python 3.4.1, kas nāk ar ArcGIS Pro, un divas Python versijas bija laimīgi līdzāspastāvošas.

Katru reizi, kad apakšmapē Instalēt veicu izmaiņas Python skriptā un pēc tam atgriezos mapē Python Add-In un veicu dubultklikšķi uz makeaddin.py, es redzēju, ka mans * .esriaddin fails ir atjaunināts, jo Windows Explorer ir mainīts tā modifikācijas datums .

Tad šorīt es jaunināju ArcGIS Pro uz 1.1 versiju, un ar dubultklikšķi uz makeaddin.py vairs netika atjaunināts mans * .esriaddin fails. Es arī pamanīju, ka ar peles labo pogu noklikšķinot uz * .py un izvēloties Rediģēt ar IDLE, tagad tas tika atvērts ar Python 3.4.1 (no ArcGIS Pro 1.1), nevis 2.7.8 (no ArcGIS 10.3.1 darbvirsmai). Man izdevās panākt, ka rediģēšana ar IDLE darbojas tā, kā es to vēlējos, atsaucoties uz Python versijas atšķiršanu, lietojot IDLE ar ArcGIS Pro un ArcGIS 10.x darbvirsmas arhitektūrai?

Tomēr, veicot dubultklikšķi uz makeaddin.py, joprojām netiek atjaunināts mans * .esriaddin fails, tāpēc es zinu, ka kaut kas ir nepareizs ar tā failu asociāciju. Kā risinājumu es varu ar peles labo pogu noklikšķināt uz makeaddin.py, Edit with IDLE (kas izmanto Python 2.7.8) un izmantot F5 (Run | Run Module), lai to palaistu. Tomēr es vēlos, lai dubultklikšķis atkal darbotos.

Vai kādam ir droša metode, kā pārbaudīt un atiestatīt ArcGIS instalēto Python versiju, kas darbojas, veicot dubultklikšķi uz * .py faila?

Tas, ka ArcGIS Pro instalācija maina * .py failu Windows failu asociācijas, ir dokumentēta, taču tas, kā tos mainīt atpakaļ, nav:

Windows izmanto failu asociācijas, lai saistītu faila paplašinājumu ar izpildāmo failu. Izpildot failu, uzvar pēdējā instalācija, kas modificē šo failu asociāciju, tādēļ, ja ir vairākas Python versijas, pēdējā instalētā būs tā versija, kas tiek izmantota, kad .py failā tiek dubultklikšķināts vai izsaukts no komandrindas. Turklāt, ja tiek atinstalēta Python versija, tiks noņemtas .py failu asociācijas.


Es to esmu izdomājis, izmantojot dažus @ChrisW komentējošus komentārus par šo jautājumu un veco @MattWilkie atbildi.

Lūdzu, rīkojieties tikai šādi uz savu risku, jo es nepazīstu sistēmas administrēšanas prasmes.

  1. Es atvēru CMD logu no Windows izvēlnes Sākt kā administrators
  2. Pārbaudīju pašreizējo * .py failu asociāciju, ierakstot:

    Assoc .py =

kas atgriezās:

.py = Python.Fails

  1. Es pārbaudīju pašreizējo faila tipu, ierakstot:

    ftype Python. Fails

kas atgriezās:

Python.File = "C: Python34 python.exe" "% 1"% *

  1. Es mainīju faila tipu, ierakstot:

    ftype Python.File = "C: Python27 ArcGIS10.3 python.exe" "% 1"% *

Tad, nedarot neko citu, es mēģināju vēlreiz noklikšķināt uz sava makeaddin.py faila, un tas pareizi atjaunināja * .esriaddin.


Skatīties video: GIS Python: 모양 파일 개수 및 위치 별 선택 2 개의 실제 ArcPy 예제