[Qgis-developer] Import error in the qgis.core, qgis.gui module, Help needed

Ervin ervinramonllari at gmail.com
Sat Apr 25 07:10:56 EDT 2009




Bishwarup Banerjee wrote:
> 
> Hi,
> 
> I am a newbie in this environment (python, QGIS). For last few days  i
> have
> been trying hard to compile and execute the tutorial of TIM written in
> python. But i am getting some error or other.
> 
> The code is as follows
> 
> 
> 
> 
> import sys
> import os
> 
> 
> from PyQt4.QtCore import *
> from PyQt4.QtGui import *
> from qgis.core import *
> from qgis.gui import *
> #from F:\Python25\Lib\site-packages\qgis import core as QgsCore
> #from F:\Python25\Lib\site-packages\qgis import gui as QgsGui
> 
> # Import our GUI
> from mainwindow_ui import Ui_MainWindow
> # Import our resources (icons)
> import resources
> # Environment variable QGISHOME must be set to the install directory
> # before running this application
> qgis_prefix = os.getenv("QGISHOME")
> class MainWindow(QMainWindow, Ui_MainWindow):
> 
>   def __init__(self):QMainWindow.__init__(self)
> 
> # Required by Qt4 to initialize the UI
> self.setupUi(self)
> 
> # Set the title for the app
> self.setWindowTitle("BTC C-DAC v 1.0")
> # Create the map canvas
> self.canvas = QgsMapCanvas()
> # Set the background color to light blue something
> self.canvas.setCanvasColor(QColor(200,200,255))
> self.canvas.enableAntiAliasing(True)
> self.canvas.useQImageToRender(False)
> self.canvas.show()
> 
> # Lay our widgets out in the main window using a
> # vertical box layout
> self.layout = QVBoxLayout(self.frame)
> self.layout.addWidget(self.canvas)
> 
> # Create the actions for our tools and connect each to the appropriate
> # method
> self.actionAddLayer = QAction(QIcon(":/foss4g2007/mActionAddLayer.png"),
> "Add Layer", self.frame)
> 
> self.connect(self.actionAddLayer, SIGNAL("activated()"), self.addLayer)
> self.actionZoomIn = QAction(QIcon(":/foss4g2007/mActionZoomIn.png"), 
> "Zoom
> In", self.frame)
> self.connect(self.actionZoomIn, SIGNAL("activated()"), self.zoomIn)
> self.actionZoomOut = QAction(QIcon(":/foss4g2007/mActionZoomOut.png"),
> "Zoom Out", self.frame)
> self.connect(self.actionZoomOut, SIGNAL("activated()"), self.zoomOut)
> self.actionPan = QAction(QIcon(":/foss4g2007/mActionPan.png"), "Pan",
> self.frame)
> self.connect(self.actionPan, SIGNAL("activated()"), self.pan)
> self.actionZoomFull =
> QAction(QIcon(":/foss4g2007/mActionZoomFullExtent.png"), "Zoom Full
> Extent",
> 
> self.frame)
> self.connect(self.actionZoomFull, SIGNAL("activated()"),
> self.zoomFull)
> 
> # Create a toolbar
> self.toolbar = self.addToolBar("Map")
> # Add the actions to the toolbar
> self.toolbar.addAction(self.actionAddLayer)
> self.toolbar.addAction(self.actionZoomIn)
> self.toolbar.addAction(self.actionZoomOut);
> self.toolbar.addAction(self.actionPan);
> self.toolbar.addAction(self.actionZoomFull);
> 
> # Create the map tools
> self.toolPan = QgsMapToolPan(self.canvas)
> self.toolZoomIn = QgsMapToolZoom(self.canvas, False) # false = in
> self.toolZoomOut = QgsMapToolZoom(self.canvas, True) # true = out
> # Set the map tool to zoom in
> def zoomIn(self):
>   self.canvas.setMapTool(self.toolZoomIn)
> 
> # Set the map tool to zoom out
> def zoomOut(self):
>   self.canvas.setMapTool(self.toolZoomOut)
> 
> # Set the map tool to
> def pan(self):
>   self.canvas.setMapTool(self.toolPan)
> 
> # Zoom to full extent of layer
> def zoomFull(self):
>   self.canvas.zoomFullExtent()
> # Add an OGR layer to the map
> def addLayer(self):
>   file = QFileDialog.getOpenFileName(self, "Open Shapefile", ".",
> "Shapefiles(*.shp)")
> 
> fileInfo = QFileInfo(file)
> 
> # Add the layer
> layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr")
> 
> #if not layer.isValid():
>   #return
> 
> # Change the color of the layer to gray
> symbols = layer.renderer().symbols()
> symbol = symbols[0]
> symbol.setFillColor(QColor.fromRgb(192,192,192))
> 
> # Add layer to the registry
> QgsMapLayerRegistry.instance().addMapLayer(layer);
> 
> # Set extent to the extent of our layer
> self.canvas.setExtent(layer.extent())
> 
> # Set up the map canvas layer set
> cl = QgsMapCanvasLayer(layer)
> layers = [cl]
> self.canvas.setLayerSet(layers)
> 
> def main(argv):
> # create Qt application
>   app = QApplication(argv)
> 
> # Initialize qgis libraries
> QgsApplication.setPrefixPath(qgis_prefix, True)
> QgsApplication.initQgis()
> 
> # create main window
> wnd = MainWindow()
> 
> # Move the app window to upper left
> wnd.move(100,100)
> wnd.show()
> 
> # run!
> retval = app.exec_()
> 
> # exit
> QgsApplication.exitQgis()
> sys.exit(retval)
> 
> 
> if __name__ == "__main__":
>   main(sys.argv)
> 
> 
> 
> Previously i was getting the error
> 
> No module named PyQt4.QtCore and PyQt4.QtGui
> 
> But after installing the PyQt inside the site package it is not
> showing any error now.
> 
> 
> Now i have started getting the error,
> qgis. core module not found.
> qgis.gui module not found.
> 
> I have done whatever way possible from my side.
> 
> My system environment is as follows:
> 
> OS -- Windows 2000
> Python 2.5
> PyQt 4.4.3.1
> QGIS 0.11.0.2
> 
> I dont know in which step i should be installing these one after other.
> and also where to install and how to compile
> 
> It will be very kind of you if you can help me out.
> 
> Bye
> Sonai
> 
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
> 
> 

Hi there,

I'm also having trouble with the example given above. The error message I
got is:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import qgis.core
ImportError: DLL load failed: The specified procedure could not be found.

I have installed python 2.5.2 in C:\Python25 and Qgis 1.0 installed from the
package OSGeo4W in the default dir C:\OSGeo4W.

The environment variables are set as below:

PATH = C:\OSGeo4W\apps\qgis;%PATH%
PYTHONPATH = C:\OSGeo4W\apps\python25\lib\site-packages
QGISHOME = C:\OSGeo4W\apps\qgis

I also tried to add to the path variable the following dirs:
C:\OSGeo4W\bin; C:\OSGeo4W\apps\qgis\bin

but still no result.

I would really appreciate any help!

Many thanks in advance,

Ervin

-- 
View this message in context: http://n2.nabble.com/Import-error-in-the-qgis.core%2C-qgis.gui-module%2C-Help-needed-tp2040109p2706728.html
Sent from the qgis-developer mailing list archive at Nabble.com.



More information about the Qgis-developer mailing list