יותר

באמצעות Spyder IDE לפיתוח פיתון עבור Grass GIS, קבל את 'ImportError: אין מודול בשם grass.script'.

באמצעות Spyder IDE לפיתוח פיתון עבור Grass GIS, קבל את 'ImportError: אין מודול בשם grass.script'.


אני מנסה להשתמש ב- Spyder IDE כדי לפתח סקריפט פיתון באמצעות ספריית פיתון מ- grass-6.4.3. אני מריץ את התסריט למטה ומקבל

ImportError: אין מודול בשם grass.script

אני משתמש בפייתון 2.7, מותקן בגראס, ספיידר, + התקנה מקורית (C: python27) ומערכת ההפעלה שלי היא 64 סיביות של Windows 7.

נראה כי זו בעיה נפוצה, אך ניסיתי את כל התיקונים המומלצים המפורטים להלן. ניסיתי אפילו להתקין במחשב נייד שמריץ חלונות 7 של 32 סיביות ולקבל את אותה השגיאה.

קראתי את וויקי הדשא: עמוד: https: //grasswiki.osgeo.org/wiki/GRASS_and_Python#External_Python_editors_.28IDE.29

ואז ניסיתי לעקוב אחר השאלות והתשובות האלה לאות: בעיה בסקריפט פיתון כדי לשלוט ב- GRASS GIS מבחוץ - כיצד לייבא grass.script תחת Win 8.1?

סקריפט הפיתון שלי:

ייבא sys ייבוא ​​os gisbase = os.environ ['GISBASE'] = 'C:  OSGeo4W64  apps  grass  grass-6.4.3' gisdbase = os.path.normpath ('C: / Users / Ryan / grassdata') location = 'newLocation' mapset = 'Ryan' GISRC = os.path.normpath ('C: / Users / Ryan / AppData / Roaming / GRASS6 / grassrc6') LD_LIBRARY_PATH = 'C:  OSGeo4W64  apps  grass  grass-6.4 .3  lib 'PATH =' C:  Python27 ';' C:  Users  Ryan  grassdata ';' C:  Users  Ryan  AppData  Roaming  GRASS6  grassrc6 ';' C:  OSGeo4W64  bin ' ; 'C:  OSGeo4W64  apps  grass  grass-6.4.3'; 'C:  OSGeo4W64  apps  grass  grass-6.4.3  lib'; 'C:  OSGeo4W64  apps  grass  grass-6.4 .3  etc  python ';' C:  OSGeo4W64  apps  grass  grass-6.4.3  etc ';' C:  OSGeo4W64  apps  grass  grass-6.4.3  bin ';' C:  OSGeo4W64  apps  Python27 ';' C:  OSGeo4W64  apps  Python27  Lib  חבילות אתר ';' C:  OSGeo4W64  apps  msys ';' C:  OSGeo4W64  apps  grass  grass-6.4.3  scripts 'PYTHONLIB =' C:  Python27 'PYTHONPATH =' C:  OSGeo4W64  apps  grass  grass-6.4.3  etc  python 'GRASS_SH =' C:  OSGeo4W64  apps  msys  bin  sh.exe 'sys.path.append (os.path.join (os.environ [' GISBASE '],' וכו '', 'פיתון') ) sys.path.append ('C:  OSGeo4W  bin') sys.path.append ('C:  OSGeo4W64  apps  grass  grass-6.4.3  etc') sys.path.append ('C:  OSGeo4W64  apps  grass  grass-6.4.3  etc  python ') sys.path.append (' C:  OSGeo4W64  apps  grass  grass-6.4.3  lib ') sys.path.append (' C:  OSGeo4W64  apps  grass  grass-6.4.3  bin ') יבוא grass.script כמו דשא יבוא grass.script.setup כ gsetup gsetup.init (gisbase, gisdb, מיקום, mapset)

הוספתי את משתני הסביבה שלי באופן ידני להגדרות המערכת (הועתקו לכאן):

GISBASE = C:  OSGeo4W64  apps  grass  grass-6.4.3 GISDBASE = C:  Users  Ryan  grassdata GISRC = C:  Users  Ryan  AppData  Roaming  GRASS6  grassrc6 GRASS_SH = C:  OSGeo4W  apps  msys  bin  sh.exe LD_LIBRARY_PATH = C:  OSGeo4W64  apps  grass  grass-6.4.3  lib PATH = C:  Python27; C:  Users  Ryan  grassdata; C:  Users  Ryan  AppData  נדידה  GRASS6  grassrc6; C:  OSGeo4W64  bin; C:  OSGeo4W64  apps  grass  grass-6.4.3; C:  OSGeo4W64  apps  grass  grass-6.4.3  lib; C:  OSGeo4W64  apps  grass  grass-6.4.3  etc  python; C:  OSGeo4W64  apps  grass  grass-6.4.3  etc; C:  OSGeo4W64  apps  grass  grass-6.4.3  bin; C :  OSGeo4W64  apps  Python27; C:  OSGeo4W64  apps  Python27  Lib  חבילות אתר; C:  OSGeo4W64  apps  msys; C:  OSGeo4W64  apps  grass  grass-6.4.3  scripts PYTHONLIB = C:  Python27 PYTHONPATH = C:  OSGeo4W  apps  grass  grass-6.4.3  etc  python '

הוספתי קובץ בשם 'grass.pth' ל: C: OSGeo4W apps python27 lib site-packages. הקובץ מכיל:

C: OSGeo4W apps grass grass-6.4.3 etc python C: OSGeo4W bin

התחלתי דשא באופן אינטראקטיבי כדי ליצור קובץ 'grassrc6' שנמצא כאן: C: Users Ryan AppData Roaming GRASS6 grassrc6

אני לא בטוח מה עוד אוכל לנסות, אני בטוח שמשהו חייב להיות לא בסדר במשתני הסביבה, אבל לא הייתי יודע מה לחפש.

כמו כן, האם יש צורך להגדיר את משתני הסביבה הן בסקריפט הפיתון והן באופן ידני בהגדרות המערכת?


קובץ העטלף הזה מתחיל ספיידר בשבילי ומייבא את הקנס של grass.script:

@echo כבוי rem מוגדר OSGEO4W_ROOT = c:  OSGEO4W64 rem set PATH =% OSGEO4W_ROOT%  bin;% PATH% call c:  osgeo4w64  bin  o4w_env.bat call% OSGEO4W_ROOT%  apps  grass  grass-6.4.3  וכו  סט להגדיר GDAL_DRIVER_PATH =% OSGEO4W_ROOT%  bin  gdalplugins  1.9 להגדיר PATH =% PATH%;% OSGEO4W_ROOT%  apps  qgis  bin set PATH =% PATH%;% OSGEO4W_ROOT%  apps  grass  grass- 6.4.3  lib set PATH =% PATH%;% OSGEO4W_ROOT%  apps  Python27  Scripts  set GISBASE = C:  OSGeo4W64  apps  grass  grass-6.4.3 set GISDBASE = d:  documents  grassdata set GISRC = C:  משתמשים  sando_000  AppData  נדידה  GRASS6  grassrc6 סט GRASS_SH = C:  OSGeo4W  apps  msys  bin  sh.exe סט PYTHONPATH =% PYTHONPATH%;% OSGEO4W_ROOT%  apps  qgis  python; קבע PYTHONPATH =% PYTHONPATH%;% OSGEO4W_ROOT%  apps  Python27  Lib  חבילות אתר מוגדר PYTHONPATH =% PYTHONPATH%;% OSGEO4W_ROOT%  apps  grass  grass-6.4.3  etc  python set QGISPATW =_ OSOT%  apps  qgis מתחילים c:  OSGeo4W64  apps  Python27  Scripts  spyder.bat

יש לי התקנת OSGE4W 64bit w grass-6.4.3, python-2.7 ו- spyder המותקנת מחבילת המקור עם:

התקנת python setup.py

סקריפט זה הוא גרסה שונה ממה ששימש להפעלת פיסקריפטר עם qgis: https://mapoholic.wordpress.com/2012/06/28/configure-pyscripter-qgis/


צפו בסרטון: Среда разработки для Python Spyder IDE версии