SORU
8 Temmuz 2009, ÇARŞAMBA


Neden't Python sys dizinleri paylaşılan nesneleri bulabilirsiniz.yol?

Pycurl almaya çalışıyorum:

$ python -c "import pycurl"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: libcurl.so.4: cannot open shared object file: No such file or directory

Şimdi, libcurl.bu yüzden.4 /usr/local/lib. Gördüğünüz gibi, sys.yol:

$ python -c "import sys; print sys.path"
['', '/usr/local/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg', 
'/usr/local/lib/python25.zip', '/usr/local/lib/python2.5', 
'/usr/local/lib/python2.5/plat-linux2', '/usr/local/lib/python2.5/lib-tk', 
'/usr/local/lib/python2.5/lib-dynload', 
'/usr/local/lib/python2.5/sitepackages', '/usr/local/lib', 
'/usr/local/lib/python2.5/site-packages']

Herhangi bir yardım büyük takdir edilecektir.

CEVAP
8 Temmuz 2009, ÇARŞAMBA


sys.path Python modülleri için aranır. Dinamik bağlı kütüphaneler için yollar aradı LD_LIBRARY_PATH olmalıdır. LD_LIBRARY_PATH /usr/local/lib, ve eğer doğru değilse, bunu ekleyin ve yeniden deneyin değil olmadığını kontrol edin.

Bilgi (source): biraz daha fazla

Linux, ortam değişkeni LD_LIBRARY_PATH virgülle ayrılan bir set dizinleri kütüphaneleri nerede ilk önce aranması gerekmektedir dizinler standart set; bu yeni bir kitaplık hata ayıklama yararlıdır ya da standart olmayan bir kütüphane kullanarak özel amaçlar. Çevre değişken LD_PRELOAD listeler paylaşılan fonksiyonları ile kütüphaneler kılma standart set olarak sadece /etc/ld.bu yüzden.önyükleme yapar. Bunlar yükleyici tarafından uygulanan /lib/linux ld.bu yüzden. Bunu not etmeliyim birçok LD_LIBRARY_PATH çalışır Unix benzeri sistemlerde, işe yaramaz tüm; örneğin, bu işlevi HP-UX üzerinde mevcut ama. ortam değişkeni SHLİB_PATH ve AİX üzerinde bu işlevi geçer değişken (aynı LIBPATH sözdizimi, iki nokta üstüste ile ayrılmış liste).

Güncelleme:LD_LIBRARY_PATH, aşağıdakilerden birini ~/.bashrc ideal kullanımı veya eşdeğer dosya:

export LD_LIBRARY_PATH=/usr/local/lib

ya

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Eğer boş ise ilk form kullanımı (boş dize eşdeğer veya yok), ve eğer ikinci bir form değil. Kullanımına dikkat edinverme.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • trickycharms

    trickycharms

    6 Aralık 2013