Sorun, 'GAMMA SAR ve Interferometry Yazılımı' (GAMMA) çalıştırmayla ilgilidir. GAMMA'daki verileri işlemek için kullanıcının kabukta karmaşık komutlar yazması gerekir. Bu sıkıcı süreç yerine, bu komutları dizge olarak hazırlamak için Python kullanmaya çalışıyorum ve bunları doğrudan Python'dan çalıştırmak/yürütmek istiyorum.dyld: Kitaplık yüklenmedi: libDIFF.dylib (OSX El Capitan'da)
Aşağıda, çalışan bir çözümün basitleştirilmiş bir örneği verilmiştir: Python'da bir dize hazırlayıp komut satırına yazdırıyorum. Daha sonra Python'un kabuğuyla aynı kabukta yazdırdığı dizeyi elle kopyalayıp yapıştırırsam, Gama sorunsuz çalışır.
çalışma kodu:
# Visualize interferogram
p = 'dismph TMX.int 1189'
print(p) #copy/pasting this output to a command line runs the external program
her komut başka kabuğa bir kabuk yapıştırılan kopya/olması gerektiğinden bu sıkıcı alır. Bunun yerine, sadece Python'u çalıştırmak ve komutları çalıştırılan kabuklara yazdırmak istiyorum. Aşağıdaki kod, kabuğa bir dize yazdırma ve yürütme yeteneğine sahiptir.
sorun kodu:
import os
# Visualize interferogram
p = 'dismph TMX.int 1189'
os.system(p)
Ne yazık ki, aşağıdaki hata iletisi alıyorum.
hata:
dyld: Library not loaded: libDIFF.dylib
Referenced from: /Users/[username]/[programname]/[functionname]/bin/dismph
Reason: image not found
Bu örnek Python 3.5.1 ile OSX El Capitan, Sürüm 10.11.4, üzerinde çalıştırılan
| Anaconda 2.4.1 (x86_64) | [(Apple Inc. 5577 build) GCC 4.2.1] darwin üzerinde (varsayılan, 7 Aralık 2015, 11:24:55):
bu soruyu soran bir başka yolu: yazarak ve koşma arasındaki fark nedir Kabuğun içinde Python'dan aynı dize yazdırma ve yürütme komutu. Teknik olarak, her ikisi de aynı değişkenleri/yolları/kütüphaneleri görmeli, ancak bu durumda bir fark var gibi görünüyor. GAMMA gerekli kütüphaneleri bulamıyor gibi görünmüyor.
herhangi bir kod, sadece teori? – haifzhan
[İlgili soruya bakın] (http://stackoverflow.com/questions/17703510/dyld-library-not-loaded-reason-image-not-loaded). Bir bağımlılığı kaçırdığınız veya gerekli bağımlılığın bulunamayacağı anlaşılıyor. Daha fazla teşhis etmek için bazı kodlara ihtiyacınız var. Hangi işletim sistemi üzerindesiniz? Paylaşılan lib'ler için basit bir yol problemi olabilir. –
Bu, platform bağımlı olabilir.Apple iOS kullanıyor musunuz? Hangi versiyon? Bu 32 veya 64 bitlik bir piton mu? – tdelaney