ArcGIS 10.1 için SP1'in, arka plan coğrafi işleme için 64 bit Python uzantısı vardır - diğer Python kullanımı için sonuçları


12

Eğer ArcGIS Masaüstü 10.1sp1 için 64 bit Arkaplan Geoprocessing yüklü nasıl genel kullanım için Python yapılandırmasını etkiler?

Esri, ArcGIS 10.1 ürünü için SP1'i yayınladı ve Masaüstü bileşeni için, yüklendiğinde Esri 32 bit Python 2.7 çağrılarının 64 bit Python 2.7 çağrılarının yerine arka plan coğrafi işlemesi (işleme gönderildi) yerine kullanılabilmesini sağladı. ArcGIS Desktop GUI oturumunun bir tarafı).

Kurulum isteğe bağlıdır - yani onsuz ArcGIS Desktop yalnızca 32 bit kullanıcı belleği alanı ile devam eder. Bununla birlikte, Esri program klasörüne bir \ bin64 girişi yapılır ve "HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcGIS 10.1 SP1 için Masaüstü Arka Plan Geoprocessing (64-bit)" de 64 bit işleme için kayıt defteri anahtarları oluşturulur ve arka plan geoprocessing 64 bit bellek alanında yapılır.

Hem Esri'nin 32 bit hem de 64 bit Python'u tam 2.7.2 kurulum.

Arka plan coğrafi işleme Esri'nin kayıt defteri sırasında, yol ve yapılandırma dosyaları 64 bit Python yürütülebilir dosyalarını çağırmakla ilgilenir. 32-bit Python kullanımı gerektiğinde ArcGIS Desktop oturumunda korunur.

Bu nedenle, her kullanıcıya kalan, yüklü 64 bit Python 2.7.2'yi ArcGIS dışındaki bilgisayar ihtiyaçlarına entegre edip etmeyeceğine karar vermektir. Python'un hem 32 hem de 64 bit sürümleri sistemde yerleşik olduğunda bunu en iyi nasıl yapabilirim?

Başka bir soru sordu - Esri, 64 bit Python'un ArcGIS Masaüstüne entegrasyonuyla ilgileniyor, bu yüzden onu ArcGIS dışındaki kullanım durumları için yapılandırmak için hangi yollar işe yarayacak?


Sadece merak ediyorum, bu paketin kurulumunu izlemek için Process Monitor'ü veya benzerlerini kullandınız mı? Bunu kendim yapmayı düşünüyordum.
blah238

hayır, sadece dosya sistemi ve kayıt defterindeki değişiklikleri gözden geçirdi
V Stuart Foote

3
64bit Arka Plan Geoprocessing performans testinden önce ve sonra hızlı bir şekilde yaptım - sadece (% 10) hafif iyileşmenin sadece beklenen şey olup olmadığını bilmiyorum.
PolyGeo

4
@Arabella - Daha hızlı bir şey yapmak için 32 bit ile değiştirmeyi beklemiyordum ve bağlantılı% 10 iyileşme istatistiksel olarak önemli görünmüyor. Ana fark, 64bit sürümünün coğrafi işlemin 4GB'dan fazla RAM kullanmasına izin vermesidir. Başka her şey teğet olacak.
GIS-Jonathan

2
@PolyGeo - 32bit ve 64bit arasındaki temel fark, 32bit uygulamaların 4GB'dan fazla RAM kullanamamasıdır (basitçe bunu ele alamazlar - aslında bayraklara ve malzemelere bağlı olarak Windows'ta 2GB veya 3GB daha olasıdır). Her neyse, 32bit'e karşı 32bit'in avantajını gerçekten görmek için ~ 4GB'dan fazla RAM kullanacak bir test yapmanız gerekir. Tabii ki, ESRI'nin sürümler arasında yaptığı optimizasyonlar olabilir, ancak 32 / 64bit yaşının kendisi sadece çekirdek seviyesinde RAM kullanımı ile ilgilidir.
CBS-Jonathan

Yanıtlar:


1

Bu nedenle, her kullanıcıya kalan, yüklü 64 bit Python 2.7.2'yi ArcGIS dışındaki bilgisayar ihtiyaçlarına entegre edip etmeyeceğine karar vermektir. Python'un hem 32 hem de 64 bit sürümleri sistemde yerleşik olduğunda bunu en iyi nasıl yapabilirim?

Anladığım kadarıyla, python'un farklı versiyonlarını nasıl ayırt edebileceğimizi ve ihtiyaçlarımıza göre nasıl kullanabileceğimizi soruyorsunuz.

En kolay yol, komut dosyanızı çalıştırmak için kullanacağınız yorumlayıcıyı tam olarak belirtmektir. Bu SO q / a'da daha fazla ayrıntı bulunabilir .


Bir anlamda. Ancak bunu komut dosyası yazma sırasında programlı olarak yapmakla daha çok ilgileniyorum. Sistemi 32-bit veya 64-bit Python kullanacak şekilde yeniden yapılandırmak için PYTHONHOME ve PYTHONPATH arasında geçiş yapma ve daha sonra bunları sys.path.append () çağrıları veya site.addsitedir () ile değiştirme. SO q / a'da sadece bir Python versiyonunu veya başka birini çağırmanın önerisi biraz kaba. Zorluk, incelikle site modülünü esnek bir şekilde kullanmak ve bir IDE'de güvenilir bir şekilde çalışmak olacaktır. Basit yol ve site paketi manipülasyonunun ötesinde, 32-bit ve 64-bit ortamların sanal olarak çoklu Python konfigürasyonlarına sahip olmak mümkündür.
V Stuart Foote

Komut dosyanızda , örneğin alt işlem modülünü kullanarak komut satırından gerekli yorumlayıcıyla (x32 veya x64) çağırarak diğer python komut dosyasının yürütülmesini çağırmayı deneyebilirsiniz .
Alex Markov

0

Benim için gerekli olan buydu ... ve hala her şeyin 'düzgün' çalıştığından emin değilim. 64bit Arkaplan Geoprocessing araçlarını kurduktan ve bunları kullanmak için PYTHONPATH'ımı değiştirdikten sonra (örneğin, varsayılan python'dan), ArcMap (örn. 32bit konsol python) içindeki her şeyi kırmış gibi görünüyor. Bu yüzden aşağıdaki işi buldum. YMMV

1) 64bit arka plan coğrafi işleme araçlarını indirin ve çalıştırın: Neyse ki bir kez buldum! Bağlantıyı tekrar bulamıyorum ...

2) PYTHONPATH sistemine (varsayılan olarak 64 bit kullandığınızı varsayarak) aşağıdakileri ekleyin:; C: \ Python27 \ ArcGISx6410.1 \ DLLs; C: \ Python27 \ ArcGISx6410.1 \ lib; C: \ Python27 \ ArcGISx6410 .1 \ lib \ plat-win; C: \ Python27 \ ArcGISx6410.1 \ lib \ lib-tk; C: \ Python27 \ ArcGISx6410.1; C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.1 \ bin64; C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.1 \ arcpy; C: \ Program Dosyaları (x86) \ ArcGIS \ Desktop10.1 \ ArcToolbox \ Scripts

3) PYTHONPATH'dan 64 bit ithalatla karıştırılmaması için Arcmap Python için bir başlangıç ​​komut dosyası oluşturun

import sys
if sys.executable in ['C:\\Python27\\ArcGIS10.1\\python.exe', 'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin\\ArcMap.exe']:
    print('Resetting Path')
    sys.path = [
        #python32 for ESRI
        'C:\\windows\\system32\\python27.zip',
        'C:\\Python27\\ArcGIS10.1\\DLLs',
        'C:\\Python27\\ArcGIS10.1\\lib',
        'C:\\Python27\\ArcGIS10.1\\lib\\plat-win',
        'C:\\Python27\\ArcGIS10.1\\lib\\lib-tk',
        'C:\\Python27\\ArcGIS10.1',
        'C:\\Python27\\ArcGIS10.1\\lib\\site-packages',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\arcpy',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\ArcToolbox\\Scripts',
        #defaults
        'C:\\Python27\\Lib\\',
        'C:\\Python27\\Lib\\site-packages',
        'C:\\pythonnet'
        ]

import arcpy 
from arcpy import env

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.