<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"></p>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px; margin-left: 18.75pt;">
<font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">Hello I am currently trying to learn PyQGIS. At almost the beginning I have encountered a problem loading a shapefile into pyqgis, using a standalone application
 (in this case, Pyscripter 3.2.2, 32 bit). I have tried both QGIS 3.0 (newest OSGeo4w version) and 2.18 standalone with OSGeo4w applications, with Python 3.6/2.7 respectively, all being 32 bit. The operating system is windows 10 home, 64 bit.</span></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px; margin-left: 18.75pt;">
<font face="Arial,sans-serif" color="#333333"><br>
</font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px; margin-left: 18.75pt;">
<font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">I have tried using several different shapefiles (.shp extensions). They can all be loaded into the different versions of QGIS. </span></font><font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">I
 have followed </span></font><a href="https://docs.qgis.org/2.14/en/docs/pyqgis_developer_cookbook/loadlayer.html#vector-layers" target="_blank" rel="noopener noreferrer" id="LPlnk814760" previewremoved="true"><font face="Arial,sans-serif" size="3"><span id="LPlnk814760" style="font-size: 12pt;"><font face="Calibri,Helvetica,sans-serif" size="2"><span style="font-size: 11pt;">https://docs.qgis.org/2.14/en/docs/pyqgis_developer_cookbook/loadlayer.html#vector-layers</span></font></span></font></a><font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;"> ,
 and tried with small variations (changing the path from “/path/to/file.shp” to r”path\to\file.shp”) that GIS stack exchange have suggested. </span></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px; margin-left: 18.75pt;">
<font face="Arial,sans-serif" color="#333333"><br>
</font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px; margin-left: 18.75pt;">
<font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">The current python code is:</span></font><font face="Arial,sans-serif" color="#333333"></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-right: 0px; margin-left: 18pt; padding: 0px; border-style: none none none solid; border-left-width: 2.25pt; border-left-color: rgb(108, 226, 108);">
<ol style="margin-top: 14pt; margin-bottom: 14pt;">
<li><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>from</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> qgis.core </span></font><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>import</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> *  </span></font></li><li><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>import</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> qgis.utils  </span></font></li><li><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>import</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> os  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">QgsApplication.setPrefixPath(</span></font><font face="Consolas" size="2" color="blue"><span style="font-size: 9pt;">'C:/qgis218/apps/qgis-ltr'</span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">, True)   </span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">qgs = QgsApplication([], True)  </span></font><font face="Consolas" size="2" color="#00B050"><span style="font-size: 9pt;">#has also tried with False</span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">qgs.initQgis()  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">data_source = r</span></font><font face="Consolas" size="2" color="blue"><span style="font-size: 9pt;">"C:\python_qgis\airport_tutorial\ne_10m_airports.shp"</span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">layer = QgsVectorLayer(data_source, </span></font><font face="Consolas" size="2" color="blue"><span style="font-size: 9pt;">"airports"</span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">, </span></font><font face="Consolas" size="2" color="blue"><span style="font-size: 9pt;">"ogr"</span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">)  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">  </span></font></li><li><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>if</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> </span></font><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>not</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> layer.isValid():  </span></font></li><li><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">    </span></font><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>print</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> (</span></font><font face="Consolas" size="2" color="blue"><span style="font-size: 9pt;">"Layer failed to load!"</span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">)  </span></font></li><li><font face="Consolas" size="2" color="#006699"><span style="font-size: 9pt;"><b>print</b></span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;"> </span></font><font face="Consolas" size="2" color="blue"><span style="font-size: 9pt;">"File Path points to a file: "</span></font><font face="Consolas" size="2" color="black"><span style="font-size: 9pt;">, os.path.isfile(data_source)</span></font></li></ol>
</div>
<pre style="font-size: 16px; background-color: rgb(239, 240, 241); margin-top: 14pt; margin-bottom: 14pt;"><font face="Calibri,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">(the prefix path is correct according to QGIS’ own python console, using </span></font><font face="Calibri,sans-serif" size="2" color="#101094"><span style="font-size: 11pt;">print</span></font><font face="Calibri,sans-serif" size="2" color="#303336"><span style="font-size: 11pt;"> </span></font><font face="Calibri,sans-serif" size="2" color="#2B91AF"><span style="font-size: 11pt;">QgsApplication</span></font><font face="Calibri,sans-serif" size="2" color="#303336"><span style="font-size: 11pt;">.showSettings() )</span></font></pre>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px; margin-left: 18.75pt;">
<font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">The code always returns “layer failed to load!” even though the file path is correct.</span></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;">
<font face="Calibri,Helvetica,sans-serif" size="2" color="#333333"><span style="font-size: 11pt;">I would therefore like to ask what might be the problem here? If more information is needed, please say.</span></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;">
<font face="Calibri,Helvetica,sans-serif" size="2"><span style="font-size: 11pt;">Thanks in advance!</span></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;">
<font face="Calibri,Helvetica,sans-serif" size="2"><span style="font-size: 11pt;">Best regards,</span></font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 16px; margin-top: 0px; margin-bottom: 0px;">
<font face="Calibri,Helvetica,sans-serif" size="2"><span style="font-size: 11pt;">Jonas</span></font></div>
<br>
<p></p>
</div>
</body>
</html>