Hi Vishal, The executable on Windows is not called "grass" like on Linux but "grass8" or "grass83" (to avoid a strange Python import error). That should do the trick. If not, try simply providing a full path yourself including the extension (C:\...\...bat).
Best, Vaclav On Wed, 27 Sept 2023 at 21:20, Vishal Mehta via grass-user < grass-user@lists.osgeo.org> wrote: > I'm trying to follow this setup: > > https://github.com/ncsu-geoforall-lab/GIS714-assignments/blob/main/GRASS_GIS_Foundations/JupyterOnWindows_Tutorial.ipynb > > I have stand-alone GRASS GIS 8.3 installed in Windows in C:\GRASS GIS 8.3 > > I followed the 7 setup steps (changing set path to reflect that its > installed in C:\GRASS GIS 8.3 > Then when i run this first part: > > import os > import subprocess > import sys > > # Ask GRASS GIS where its Python packages are. > sys.path.append( > subprocess.check_output(["grass", "--config", "python_path"], > text=True).strip() > ) > > # Import GRASS packages > import grass.script as gs > import grass.jupyter as gj > -- > I get the following error: > > ---------------------------------------------------------------------------FileNotFoundError > Traceback (most recent call last) > Cell In[1], line 7 3 import sys 5 # Ask GRASS GIS where its Python > packages are. 6 sys.path.append(----> 7 > subprocess.check_output(["grass", "--config", "python_path"], > text=True).strip() 8 ) 10 # Import GRASS packages 11 import > grass.script as gs > > File C:\GRASS GIS 8.3\Python39\lib\subprocess.py:424, in > check_output(timeout, *popenargs, **kwargs) 421 empty = b'' 422 > kwargs['input'] = empty--> 424 return run(*popenargs, stdout=PIPE, > timeout=timeout, check=True, 425 **kwargs).stdout > > File C:\GRASS GIS 8.3\Python39\lib\subprocess.py:505, in run(input, > capture_output, timeout, check, *popenargs, **kwargs) 502 > kwargs['stdout'] = PIPE 503 kwargs['stderr'] = PIPE--> 505 with > Popen(*popenargs, **kwargs) as process: 506 try: 507 > stdout, stderr = process.communicate(input, timeout=timeout) > > File C:\GRASS GIS 8.3\Python39\lib\subprocess.py:951, in Popen.__init__(self, > args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, > shell, cwd, env, universal_newlines, startupinfo, creationflags, > restore_signals, start_new_session, pass_fds, user, group, extra_groups, > encoding, errors, text, umask) 947 if self.text_mode: 948 > self.stderr = io.TextIOWrapper(self.stderr, 949 > encoding=encoding, errors=errors)--> 951 self._execute_child(args, > executable, preexec_fn, close_fds, 952 pass_fds, > cwd, env, 953 startupinfo, creationflags, shell, > 954 p2cread, p2cwrite, 955 > c2pread, c2pwrite, 956 errread, errwrite, 957 > restore_signals, 958 gid, > gids, uid, umask, 959 start_new_session) 960 > except: 961 # Cleanup if the child failed starting. 962 for f > in filter(None, (self.stdin, self.stdout, self.stderr)): > > File C:\GRASS GIS 8.3\Python39\lib\subprocess.py:1420, in > Popen._execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, > cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, > c2pwrite, errread, errwrite, unused_restore_signals, unused_gid, unused_gids, > unused_uid, unused_umask, unused_start_new_session) 1418 # Start the > process 1419 try:-> 1420 hp, ht, pid, tid = > _winapi.CreateProcess(executable, args, 1421 # > no special security 1422 None, None, 1423 > int(not close_fds), 1424 > creationflags, 1425 env, 1426 > cwd, 1427 startupinfo) > 1428 finally: 1429 # Child is launched. Close the parent's copy of > those pipe 1430 # handles that only the child should have open. You > need (...) 1433 # pipe will not close when the child process exits > and the 1434 # ReadFile will hang. 1435 > self._close_pipe_fds(p2cread, p2cwrite, 1436 > c2pread, c2pwrite, 1437 errread, errwrite) > FileNotFoundError: [WinError 2] The system cannot find the file specified > > > Can someone help figure out what the issue is? > Thanks, > Vishal > _______________________________________________ > grass-user mailing list > grass-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/grass-user >
_______________________________________________ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user