Ошибка QGIS при старте

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 07:59

При запуске QGIS получаю окно с ошибкой:

Код: Выделить всё

Не удалось загрузить модуль GdalTools при вызове его метода classFactory()

Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/qgis/utils.py", line 138, in startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "/usr/share/qgis/python/plugins/GdalTools/__init__.py", line 32, in classFactory
    from GdalTools import GdalTools
  File "/usr/lib/python2.6/site-packages/qgis/utils.py", line 283, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/usr/share/qgis/python/plugins/GdalTools/GdalTools.py", line 39, in 
    raise ImportError( error_str )
ImportError: No module named osgeo [python-gdal]

Версия Python:
2.6.6 (r266:84292, Mar 29 2011, 02:41:32) 
[GCC 4.5.1 20101130 (ALT Linux 4.5.1-alt8)]


Версия:
1.7.0-Wroclaw Wroclaw, exported

Путь поиска Python: ['/usr/share/qgis/python', '/home/vip/.qgis/python', '/home/vip/.qgis/python/plugins', '/usr/share/qgis/python/plugins', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/PIL', '/usr/lib/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages/wx-2.8-gtk2-unicode', '/usr/share/qgis/python/plugins/fTools/tools']  
Запуск с –-noplugins к ошибке не приводит, однако включение модуля GdalTool вызывает опять это же окно.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 09:30

Проверьте наличие пакета gdal-python в системе. Если он отсутствует - установите

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 15:40

Voltron писал(а):Проверьте наличие пакета gdal-python в системе. Если он отсутствует - установите

Код: Выделить всё

$ rpm -qa|grep gdal
libgdal-1.8.0-alt1
python-module-gdal-1.8.0-alt1
gdal-1.8.0-alt1
gdal-scripts-1.8.0-alt1
gdal-doc-1.8.0-alt1
То есть имеется пакет python-module-gdal

А что должно содержаться в gdal-python?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 16:08

Пакет может называться и по другому. Вообще, ошибка возникает из-за того, что отсутствуют привязки (bindings) GDAL для Python. Обычно эти файлы ложатся в /usr/lib/python<версия>/site-packages/osgeo

P.S. нарезка пакетов в ALT доставляет. Скоро дойдут до того, то в каждом пакете будет по одному файлу.

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 17:40

Voltron писал(а):Пакет может называться и по другому. Вообще, ошибка возникает из-за того, что отсутствуют привязки (bindings) GDAL для Python. Обычно эти файлы ложатся в /usr/lib/python<версия>/site-packages/osgeo

P.S. нарезка пакетов в ALT доставляет. Скоро дойдут до того, то в каждом пакете будет по одному файлу.

Код: Выделить всё

$ rpm -ql python-module-gdal
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO/PKG-INFO
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO/SOURCES.txt
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO/dependency_links.txt
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO/native_libs.txt
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO/not-zip-safe
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/EGG-INFO/top_level.txt
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdal.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdal.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdal.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdalconst.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdalconst.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdalconst.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdalnumeric.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdalnumeric.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/gdalnumeric.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/ogr.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/ogr.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/ogr.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/__init__.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/__init__.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/__init__.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal.so
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal_array.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal_array.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal_array.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdal_array.so
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdalconst.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdalconst.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdalconst.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_gdalconst.so
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_ogr.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_ogr.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_ogr.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_ogr.so
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_osr.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_osr.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_osr.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/_osr.so
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdal.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdal.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdal.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdal_array.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdal_array.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdal_array.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdalconst.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdalconst.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdalconst.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdalnumeric.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdalnumeric.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/gdalnumeric.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/ogr.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/ogr.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/ogr.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/osr.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/osr.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/osr.pyo
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osr.py
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osr.pyc
/usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osr.pyo
Оно?

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 18:18

После того, как сделал
mkdir ~/.qgis/python/ && ln -s /usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/ ~/.qgis/python/plugins
предыдущая ошибка исчезла, но появилась другая:
"Ошибка чтения метаданных модуля osgeo"

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 18:32

Какой-то странный путь. Альтовцы что, яйцо в пакет засунули, да еще так криво? :shock:
Симлинк в ~/.qgis/python удалите и сделайте другой.

Код: Выделить всё

ln -s /usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/ /usr/lib/python2.6/osgeo

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 18:53

Voltron писал(а):Какой-то странный путь.

В соответствии с

Код: Выделить всё

Путь поиска Python: ['/usr/share/qgis/python', '/home/vip/.qgis/python', '/home/vip/.qgis/python/plugins',...]
Симлинк в ~/.qgis/python удалите и сделайте другой.

Код: Выделить всё

ln -s /usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/osgeo/ /usr/lib/python2.6/osgeo
Сделал. "Ошибка чтения метаданных модуля osgeo" сохранилась.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 19:04

Athlocatle писал(а):В соответствии с

Код: Выделить всё

Путь поиска Python: ['/usr/share/qgis/python', '/home/vip/.qgis/python', '/home/vip/.qgis/python/plugins',...]
Я про путь к биндигам
Athlocatle писал(а):Сделал. "Ошибка чтения метаданных модуля osgeo" сохранилась.
Сорри, опечатался. Вот так должно быть

Код: Выделить всё

ln -s /usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/ /usr/lib/python2.6/osgeo

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 19:12

Voltron писал(а):
Athlocatle писал(а):Сделал. "Ошибка чтения метаданных модуля osgeo" сохранилась.
Сорри, опечатался. Вот так должно быть

Код: Выделить всё

ln -s /usr/lib/python2.6/site-packages/GDAL-1.8.0-py2.6-linux-i686.egg/ /usr/lib/python2.6/osgeo
Не помогло
PS: в смысле, вылезла первоначальная ошибка

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 19:20

Даже не знаю... Можно попробовать переместить содержимое GDAL-1.8.0-py2.6-linux-i686.egg в site-packages, а этот каталог удалить.

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 19:22

В общем, предыдущий вариант (условно) правильный. Перед этим я симлинк создал, а в ~/.qgis удалить забыл. Потому и ругалось.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 19:26

Почему условно? Ошибка явно в пакете, надо пинать мейнтейнера

Athlocatle
Новоприбывший
Сообщения: 11
Зарегистрирован: 23 июн 2011, 07:17
Репутация: 0

Re: Ошибка QGIS при старте

Сообщение Athlocatle » 23 июн 2011, 19:33

Вопрос, какого из них. Дело в том, что они разные и питон более системный, чем qgis. Поэтому патчить надо (имхо) qgis. Не подскажете, в каком месте у него прописаны пути поиска плугинов?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Ошибка QGIS при старте

Сообщение Voltron » 23 июн 2011, 19:48

Python ищет свои модули (например, osgeo или matplotlib) в системном каталоге, т.е. в site-packages. В данном случае, модуль osgeo установлен не правильно. Если не верите — верните все в исходное состояние (удалите все симлинки), запустите интерпретатор Python и выполните

Код: Выделить всё

from osgeo import gdal
Или попробуйте переименовать каталог модуля PIL, опять же запустить Python и импортировать Imaging. В обоих случаях получите такую же ошибку импорта, как и в первом посте.

Касательно вашего вопроса. Расширения для QGIS бывают двух видов: C++ и Python. Первые ищутся в /usr/lib/qgis и в каталогах, заданных в настройках. Расширения на Python ищутся в ~/.qgis/python/plugins и в /usr/share/python/plugins. Причем, в /usr/share/python/plugins лежат исключительно «ядерные» расширения, т.е. входящие в состав QGIS.

Ответить

Вернуться в «Ошибки QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость