-
artemiziy
- Активный участник
- Сообщения: 115
- Зарегистрирован: 29 апр 2008, 11:08
- Проекты: 1/1
- Репутация: 7
QGIS. Ошибка при выполнении сценария Python
Всем добрый день,
При попытке настроить в QGIS «Анализ данных» — «Параметры…» возникает следующее сообщение:
Код: Выделить всё
Ошибка при выполнении сценария Python:
TypeError: function takes exactly 5 arguments (1 given)
Traceback (most recent call last):
File "C:/OSGEO4~1/apps/qgis/./python/pluginsprocessingguiConfigDialog.py", line 150, in accept
self.tr('Wrong value for parameter "%s":nn%s' % (setting.description, unicode(e))))
TypeError: function takes exactly 5 arguments (1 given)
Версия Python: 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]
Версия: 2.14.1-Essen Essen, ea85bef
Расположение Python:
C:/OSGEO4~1/apps/qgis/./python/pluginsprocessing
C:/OSGEO4~1/apps/qgis/./python
C:/Users/nikartem/.qgis2/python
C:/Users/nikartem/.qgis2/python/plugins
C:/OSGEO4~1/apps/qgis/./python/plugins
C:OSGEO4~1appsPython27libsite-packagesmatplotlib-1.3.1-py2.7-win-amd64.egg
C:OSGEO4~1appsPython27libsite-packagesnose-1.3.3-py2.7.egg
C:OSGEO4~1appsPython27libsite-packagestornado-4.0.1-py2.7-win-amd64.egg
C:OSGEO4~1appsPython27libsite-packagesbackports.ssl_match_hostname-3.4.0.2-py2.7.egg
C:OSGEO4~1appsPython27libsite-packagescertifi-14.05.14-py2.7.egg
c:osgeo4~1appspython27libsite-packagespython_dateutil-2.1-py2.7.egg
C:OSGEO4~1binpython27.zip
C:OSGEO4~1appsPython27DLLs
C:OSGEO4~1appsPython27lib
C:OSGEO4~1appsPython27libplat-win
C:OSGEO4~1appsPython27liblib-tk
C:OSGEO4~1bin
C:OSGEO4~1appsPython27
C:OSGEO4~1appsPython27libsite-packages
C:OSGEO4~1appsPython27libsite-packagesPIL
C:OSGEO4~1appsPython27libsite-packagesjinja2-2.7.2-py2.7.egg
C:OSGEO4~1appsPython27libsite-packagesmarkupsafe-0.23-py2.7-win-amd64.egg
C:OSGEO4~1appsPython27libsite-packagespytz-2012j-py2.7.egg
C:OSGEO4~1appsPython27libsite-packageswin32
C:OSGEO4~1appsPython27libsite-packageswin32lib
C:OSGEO4~1appsPython27libsite-packagesPythonwin
C:OSGEO4~1appsPython27libsite-packageswx-2.8-msw-unicode
C:/Users/nikartem/.qgis2//python
C:OSGEO4~1appsqgispythonpluginsfToolstools
Версия QGIS — 2.14.1-Essen, поставлена через OSGeo4W64
подскажите, пожалуйста, проблема в каких-то настройках?
-
Даниил Белый
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 19 ноя 2015, 12:38
- Репутация: 0
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
Даниил Белый » 09 фев 2018, 16:15
Такая же ошибка и у меня выпадает и при тех же обстоятельствах.
-
drrrrr
- Участник
- Сообщения: 84
- Зарегистрирован: 31 янв 2012, 10:51
- Репутация: 50
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
drrrrr » 09 фев 2018, 17:01
Разбирался я с этой злосчастной ошибкой, причина — фиг догадаешься — в настройках grass проверяется наличие пути %OSGEO4W_ROOT%appsmsys. Создайте эту папку руками ну или установите пакет msys.
-
Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Статьи: 33
- Проекты: 9
- Репутация: 529
- Ваше звание: Author
-
Контактная информация:
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
Denis Rykov » 09 фев 2018, 20:52
Даниил Белый писал(а): ↑
09 фев 2018, 16:15
Такая же ошибка и у меня выпадает и при тех же обстоятельствах.
Может быть стоит обновить QGIS?
Spatial is now, more than ever, just another column- The Geometry Column.
-
Svettlana
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 09 фев 2018, 10:39
- Репутация: 0
- Откуда: Симферополь
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
Svettlana » 12 фев 2018, 10:44
Добрый день! Помоги пожалуйста.
При Preprocessing Sentinel-2 где -то при 60% выполнения постоянно выпадает (независимо от версии QGIS или используемого компьютера):
Traceback (most recent call last):
File «C:/Users/Irina/.qgis2/python/pluginsSemiAutomaticClassificationPluginmaininterfacesentinelTab.py», line 164, in performSentinelConversion
self.sentinel2(cfg.ui.S2_label_86.text(), o)
File «C:/Users/Irina/.qgis2/python/pluginsSemiAutomaticClassificationPluginmaininterfacesentinelTab.py», line 249, in sentinel2
cfg.mx.msgErr38(outR)
File «C:/Users/Irina/.qgis2/python/pluginsSemiAutomaticClassificationPlugincoremessages.py», line 248, in msgErr38
self.msgBarError(cfg.QtGuiSCP.QApplication.translate(«semiautomaticclassificationplugin», «Error») + » [38]», cfg.QtGuiSCP.QApplication.translate(«semiautomaticclassificationplugin», «Unable to load raster » + path))
TypeError: function takes exactly 5 arguments (1 given)
Как решить эту проблему?
-
gamm
- Гуру
- Сообщения: 3939
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1030
- Ваше звание: программист
- Откуда: Казань
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
gamm » 12 фев 2018, 11:07
запустить в отладчике, или поставить отладочную печать в том месте, где не хватает параметров. Обычно ерунда какая-нибудь, типа русских букв в путях, или отсутствия какой-нибудь папки (которых у Сентиля хватает). Или пальчиком по коду поводить в этом месте, посмотреть, какие такие 5 аргументов в функцию должны попасть.
-
Даниил Белый
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 19 ноя 2015, 12:38
- Репутация: 0
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
Даниил Белый » 13 фев 2018, 18:20
drrrrr:
Разбирался я с этой злосчастной ошибкой, причина — фиг догадаешься — в настройках grass проверяется наличие пути %OSGEO4W_ROOT%appsmsys. Создайте эту папку руками ну или установите пакет msys.
Это помогло! Выражаю огромную благодарность!!!
-
Svettlana
- Новоприбывший
- Сообщения: 6
- Зарегистрирован: 09 фев 2018, 10:39
- Репутация: 0
- Откуда: Симферополь
Re: QGIS. Ошибка при выполнении сценария Python
Сообщение
Svettlana » 13 фев 2018, 19:46
gamm писал(а): ↑
12 фев 2018, 11:07
Обычно ерунда какая-нибудь, типа русских букв в путях
Все получилось! Огромное спасибо!
Ошибка при выполнении сценария Python:
TypeError: ‘float’ object is not subscriptable
Traceback (most recent call last):
File «C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsqgis2webmaindialog.py», line 350, in saveMap
feedback=self.feedback)
File «C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsqgis2webmapboxWriter.py», line 104, in write
folder=dest_folder)
File «C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsqgis2webmapboxWriter.py», line 294, in writeMapbox
useOSMB, vtSources, layers)
File «C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsqgis2webmapboxLayerScripts.py», line 145, in writeVectorLayer
mblayers = getLayerStyle(layer)
File «C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsqgis2webmapboxStyleScripts.py», line 43, in getLayerStyle
mapboxStyle = bridgestyle.qgis.layerStyleAsMapbox(layer)
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestyleqgis_init_.py», line 41, in layerStyleAsMapbox
mbox, mbWarnings = mapboxgl.fromgeostyler.convert(geostyler)
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestylemapboxglfromgeostyler.py», line 10, in convert
layers = processLayer(geostyler)
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestylemapboxglfromgeostyler.py», line 31, in processLayer
layers = processRule(rule, layer[«name»])
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestylemapboxglfromgeostyler.py», line 47, in processRule
layers = [processSymbolizer(s) for s in rule[«symbolizers»]]
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestylemapboxglfromgeostyler.py», line 47, in
layers = [processSymbolizer(s) for s in rule[«symbolizers»]]
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestylemapboxglfromgeostyler.py», line 126, in processSymbolizer
symbolizer = _textSymbolizer(sl)
File «C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibsbridgestylemapboxglfromgeostyler.py», line 151, in _textSymbolizer
offsetx = convertExpression(offset[0])
TypeError: ‘float’ object is not subscriptable
Версия Python: 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
Версия: 3.6.3-Noosa Noosa, 0c5774c068
Расположение Python:
C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsindoor_schematic
C:/PROGRA1/QGIS31.6/apps/qgis/./python
C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python
C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/plugins
C:/PROGRA1/QGIS31.6/apps/qgis/./python/plugins
C:Program FilesQGIS 3.6binpython37.zip
C:PROGRA1QGIS31.6appsPython37DLLs
C:PROGRA1QGIS31.6appsPython37lib
C:Program FilesQGIS 3.6bin
C:PROGRA1QGIS31.6appsPython37
C:PROGRA1QGIS31.6appsPython37libsite-packages
C:PROGRA1QGIS31.6appsPython37libsite-packageswin32
C:PROGRA1QGIS31.6appsPython37libsite-packageswin32lib
C:PROGRA1QGIS31.6appsPython37libsite-packagesPythonwin
C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python
C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsgdrive_provider
C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonpluginsgdrive_providerextlibs
C:/Users/Dorogokuplya/AppData/Roaming/QGIS/QGIS3profilesdefault/python/pluginsqgis2web
C:UsersDorogokuplyaAppDataRoamingQGISQGIS3profilesdefaultpythonplugins
C:/Gis
I had installed QGIS 3.16.15 through OSGeo installation package and began receiving this error message when starting QGIS. I completely uninstalled using the OSGeo advanced installation package, and reinstalled QGIS 3.16.15 using the standalone installer. Now I am receiving the same message. I can’t interpret the error log successfully.
Edit: When I create a new user profile I receive no error messages. Should I be looking to clean out some saved profile directories?
asked Jan 11, 2022 at 11:03
The script DistantBear.py
does have a syntax error. As it is in your processing directory which is tied a profile, you receive an error when starting QGIS with this profile (default
).
Solutions:
- Fix the sytnax error in script
DistantBear.py
- Delete script
DistantBear.py
if unused
answered Jan 11, 2022 at 11:50
stephsteph
264 bronze badges
Ср ноя 20, 2013 11:36 pm
Что с этим делать?
Чт ноя 21, 2013 9:25 am
У вас старые версии. Обновитесь, пожалуйста.
Сейчас актуальные версии:
QGIS 2.0.1 Dufour
openLand 0.2.6 от 14.11.2013
база данных 16 от 14.11.2013
Чт ноя 21, 2013 8:51 pm
Спасибо большое. теперь такая проблема: Настройка базы данных, создаю базовый проект через меню модуля openLand «Кадастр» / «Настройки» / «Данные» . По предложенному образцу из документа
http://openlandgis.ru/repository/Admin_Guide.pdf
заполняю закладку «Данные» и перезагружаю QGIS. Открываю новый созданный проект и получается ошибка. см. ниже. Получается я не правильно заполнила Данные. Что надо писать мне? помогите пожалуйста
Чт ноя 21, 2013 9:17 pm
Это не образец. Это всего лишь пример заполнения данных.
1. У Вас установлен сервер базы данных PostresSQL + PostGIS?
2. Вы создали базу данных по скриптам со страницы
http://openlandgis.ru/download
?
3. Для базы данных создали пользователя с паролем?
Если ответ «да» на все вопросы — тогда указывайте соответствующие имя пользователя и пароль, а не «sampleUserName» и «samplePass»
Если установка сервера БД и настройка вызывают затруднения — напишите мне на
biryuchkov@gmail.com
Думаю сможем решить все проблемы.
Чт ноя 21, 2013 9:21 pm
Спасибо. Все еще раз посмотрю и думаю что напишу еще Вам. Просто я самоучка в этой программе, решила попробывать межевой план участка сделать. Вот пытаюсь
Чт ноя 21, 2013 9:41 pm
Признаю, что система довольно сложная при установке и настройке. Поэтому готов всячески содействовать и помогать в этом. И денег не прошу
Только поймите меня правильно — мне проще на 40 минут через интернет подключиться к вашему компьютеру и всё установить и настроить самому, чем мы будем несколько дней вести оживленную переписку и обсуждать PostgreSQL, PostGIS, процедуры выполнения скриптов, особенности вашей операционной системы и т.д. и т.п.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.
I was fortunate enough to get in touch with the author of the book so I will share his response here:
I suspect I may know what the problem is…after looking at this
reader’s problems in more depth, I’ve discovered that something has
changed in newer versions of QGIS, and the example code no longer
works as it is written. In technical terms, it seems that you now
need to instantiate the QApplication object before making the call to
QgsApplication.initQgis() — the example program in the book
instantiates the QApplication object after calling
QgsApplication.initQgis(), which causes the program to crash. To fix
this, change the main() function to look like the following:
def main():
""" Our main program.
"""
app = QApplication(sys.argv)
QgsApplication.setPrefixPath(os.environ['QGIS_PREFIX'],True)
QgsApplication.initQgis()
viewer = MapViewer("C:/folder/shapefile.shp")
viewer.show()
app.exec_()
QgsApplication.exitQgis()
As you can see, I’ve moved the «app = QApplication(sys.argv)» line to the top.
Important Note: Make sure that forward slashes are used in viewer = MapViewer("C:/folder/shapefile.shp")
— using a backslash will result in an error message stating that the shapefile is invalid.
I also thought it would be worth mentioning that none of the above fixes (comments on the question) were necessary. So, the script will work if the paths are defined as follows:
SET OSGEO4W_ROOT=C:OSGeo4W64
SET QGIS_PREFIX=%OSGEO4W_ROOT%appsqgis
SET PATH=%PATH%;%QGIS_PREFIX%bin
SET PYTHONPATH=%QGIS_PREFIX%python;%PYTHONPATH%
Then, the entire script looks like this:
import sys
import os
from qgis.core import *
from qgis.gui import *
from PyQt4.QtGui import *
from PyQt4.QtCore import Qt
#############################################################################
class MapViewer(QMainWindow):
def __init__(self, shapefile):
QMainWindow.__init__(self)
self.setWindowTitle("Map Viewer")
canvas = QgsMapCanvas()
canvas.useImageToRender(False)
canvas.setCanvasColor(Qt.white)
canvas.show()
layer = QgsVectorLayer(shapefile, "layer1", "ogr")
if not layer.isValid():
raise IOError("Invalid shapefile")
QgsMapLayerRegistry.instance().addMapLayer(layer)
canvas.setExtent(layer.extent())
canvas.setLayerSet([QgsMapCanvasLayer(layer)])
layout = QVBoxLayout()
layout.addWidget(canvas)
contents = QWidget()
contents.setLayout(layout)
self.setCentralWidget(contents)
#############################################################################
def main():
""" Our main program.
"""
app = QApplication(sys.argv)
QgsApplication.setPrefixPath(os.environ['QGIS_PREFIX'],True)
QgsApplication.initQgis()
viewer = MapViewer("C:/folder/shapefile.shp")
viewer.show()
app.exec_()
QgsApplication.exitQgis()
#############################################################################
if __name__ == "__main__":
main()
Execute it in the OSGEO4W Shell using the following command:
python "C:script.py"
Lastly, note that at the time of this writing, the script works properly and launches a viewer showing the shapefile referenced, but returns a few errors in the shell that do not seem to be problematic:
ERROR: Opening of authentication db FAILED
ERROR: Unable to establish authentication database connection
ERROR: Auth db could not be created and opened
QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
ERROR: Opening of authentication db FAILED
Much thanks to the author Erik Westra for providing me with this solution.