Як отримати доступ до модуля QGIS з мого virtualenv


12

Я запускаю Ubuntu 14.4 і встановив віртуальне середовище python. Потім я встановив декілька бібліотек python (gdal, lxml, psycopg2 тощо)

Також у моїй системі є модуль для QGIS. Тому коли я ввожу python, я можу імпортувати цей модуль як:

import qgis.core

Але коли я намагаюся зробити те саме через свій virtualenv, я отримую помилку: модуль не знайдено.

Коли я створив virtualenv, я зробив варіант:

virtualenv --no-site-packages env

Що обмежує мою env від env системи. Питання в тому, як отримати доступ до модуля QGIS в моєму віртуальному режимі?


1
Це може допомогти. Я ще не пробував цього ще.
Нейт Ваннер

1
Це також може допомогти. Я сам не пробував цього.
Маттіас Кун

Відповіді:


1

Після створення та активації вашого virtualenv:

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

Ви повинні визначити змінну оточення PYTHONPATH до шляху встановлення вашого пітону QGIS.

будь ласка, змініть [qgispath] на шлях вашого qgis:

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

також буде потрібно встановити LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/[qgispath]/lib

щоб запобігти цій помилці

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

Ваш pythonpath встановлений лише для virtualenv і для вашого сеансу. Якщо ви хочете встановити його автоматично під цим virtualenv, ви можете створити файл під env/lib/python2.7/site-packages.pth-файлом.

Найзручніший спосіб - додати файл конфігурації шляху до каталогу, який вже знаходиться на шляху Python, як правило, до ... / site-пакети / каталог. Файли конфігурації шляху мають розширення .pth, і кожен рядок повинен містити єдиний шлях, який буде доданий до sys.path. (Оскільки нові шляхи додаються до sys.path, модулі в доданих каталогах не замінять стандартні модулі. Це означає, що ви не можете використовувати цей механізм для встановлення фіксованих версій стандартних модулів.) Джерело

щоб створити та заповнити файл, використовуйте таку команду:

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

Знайдено в кулінарній книзі Python Qgis та відповідній відповіді набір pythonpath

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.