The problem is probably related to the way the Subprocess module handles the I/O inside the QGis python console. It's a problem I've read about various times, and is specific of the Windows environemnt. Two thread I recently read about this are [1] and [2], and both consider it a Subprocess bug. I hope to find some time to reproduce it...
giovanni [1] http://bugs.python.org/issue3905 [2] http://bytes.com/topic/python/answers/634409-subprocess-handle-invalid-error 2011/6/28 romain riviere <[email protected]> > Hi all, > > I'm using windows XP and QGIS 1.7 (classic installation, python 2.5, grass > 6.4.1 ). My Goal is to create a QGIS plugin for complex network analysis > (TSP,steinman tree,...), using GRASS capabilities. It aims to be very > user-friendly, and cross-platform. > I'm trying to call GRASS from within a QGIS python plugin, but I get the > following error (python console module): > > Code: (inspired by: > http://grass.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly > ) > >> import os >>> import sys >>> >>> gisbase = os.environ['GISBASE'] = r" ....path to QGIS .... >>> sys.path.append(os.path.join(os.environ['GISBASE'], "etc", "python"))" >>> >> >> >>> import grass.script as grass >>> >> > Error: > >> >>> import grass.script as grass >> >> Traceback (most recent call last): >> >> File "<input>", line 1, in <module> >> >> File "C:/PROGRA~1/QUANTU~2/apps/qgis/./python\qgis\utils.py", line 283, in >> _import >> >> mod = _builtin_import(name, globals, locals, fromlist, level) >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\__init__.py", line 1, >> in <module> >> >> from core import * >> >> File "C:/PROGRA~1/QUANTU~2/apps/qgis/./python\qgis\utils.py", line 283, in >> _import >> >> mod = _builtin_import(name, globals, locals, fromlist, level) >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\core.py", line 1073, >> in <module> >> >> debug_level = int(gisenv().get('DEBUG', 0)) >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\core.py", line 514, >> in gisenv >> >> s = read_command("g.gisenv", flags='n') >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\core.py", line 225, >> in read_command >> >> ps = pipe_command(*args, **kwargs) >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\core.py", line 202, >> in pipe_command >> >> return start_command(*args, **kwargs) >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\core.py", line 164, >> in start_command >> >> return Popen(args, **popts) >> >> File "C:\Program Files\Quantum GIS >> Wroclaw\apps\grass\grass-6.4.1\etc\python\grass\script\core.py", line 55, in >> __init__ >> >> startupinfo, creationflags) >> >> File "C:\PROGRA~1\QUANTU~2\apps\Python25\lib\subprocess.py", line 587, in >> __init__ >> >> errread, errwrite) = self._get_handles(stdin, stdout, stderr) >> >> File "C:\PROGRA~1\QUANTU~2\apps\Python25\lib\subprocess.py", line 700, in >> _get_handles >> >> p2cread = self._make_inheritable(p2cread) >> >> File "C:\PROGRA~1\QUANTU~2\apps\Python25\lib\subprocess.py", line 745, in >> _make_inheritable >> >> DUPLICATE_SAME_ACCESS) >> >> WindowsError: [Error 6] The handle is invalid >> > > > I am pretty sure this is due to the Python Path, because the same code > works well in a classic python console (outside QGIS). But I'm not able to > resolve this issue. I haven't test yet, but I'm pretty sure it's working on > ubuntu. > > Another Question: > > Does anyone know how to import QGIS vector layer directly into GRASS ( as > v.in.ogr.qgis.loc from the GRASS Plugin) > > > Any help is welcome. > > Romain, > * > * > > > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer > >
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
