Virtualenv'imden QGIS modülüne nasıl erişilir


12

Bir Ubuntu 14.4 çalıştırıyorum ve bir python sanal ortamı kurdum. Sonra birkaç python kütüphanesi (gdal, lxml, psycopg2 vb.) Kurdum.

Ayrıca sistemimde QGIS için modül var. Python yazdığımda bu modülü şu şekilde aktarabilirim:

import qgis.core

Ama aynı şeyi virtualenv üzerinden yapmaya çalıştığımda bir hata alıyorum: modül bulunamadı.

Virtualenv'i oluştururken şu seçenekle yaptım:

virtualenv --no-site-packages env

Bu da benim env sistemimin env. Soru, sanal arayüzümde QGIS modülüne nasıl erişileceğidir?


1
Bu yardımcı olabilir. Henüz kendim denemedim.
Nate Wanner

1
Bu da yardımcı olabilir. Kendim denemedim.
Matthias Kuhn

Yanıtlar:


1

Virtualenv'inizi oluşturup etkinleştirdikten sonra:

virtualenv --no-site-packages env
source env/bin/activate
pip install [your libs]

PYTHONPATH ortam değişkenini QGIS'inizin python kurulum yolunda tanımlamanız gerekir.

lütfen qgis yolunuza [qgispath] yazın:

export PYTHONPATH=/[qgispath]/share/qgis/python

LD_LIBRARY_PATH değerini ayarlamak da gerekecektir

export LD_LIBRARY_PATH=/[qgispath]/lib

bu hatayı önlemek için

>>> import qgis.core
ImportError: libqgis_core.so.1.5.0: cannot open shared object file: No such file or directory

Pythonpath'ınız yalnızca virtualenv ve oturumunuz için ayarlanır. Bu virtualenv altında otomatik olarak ayarlamak istiyorsanız, altında env/lib/python2.7/site-packages.pth dosyasıyla bir dosya oluşturabilirsiniz .

En uygun yol, Python'un yolunda bulunan bir dizine, genellikle ... / site-Packages / dizinine bir yol yapılandırma dosyası eklemektir. Yol yapılandırma dosyaları .pth uzantısına sahiptir ve her satırın sys.path öğesine eklenecek tek bir yol içermesi gerekir. (Yeni yollar sys.path dosyasına eklendiğinden, eklenen dizinlerdeki modüller standart modülleri geçersiz kılmaz. Bu, bu modülleri sabit standart modül sürümlerini yüklemek için kullanamayacağınız anlamına gelir.) Kaynak

dosyayı oluşturmak ve doldurmak için şöyle bir komut kullanın:

cat > [yourVirtualEnv]/lib/python2.7/site-packages/qgispythonpath.pth << /[qgispath]/share/qgis/python

Python Qgis yemek kitabında ve ilgili bir cevap seti pythonpath'de bulundu

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.