[GRASS-dev] [GRASS GIS] #3837: OSGeo4W winGRASS77svn - startup error: TypeError: endswith first arg must be bytes or a tuple of bytes, not str
GRASS GIS
trac at osgeo.org
Sat May 11 09:08:16 PDT 2019
#3837: OSGeo4W winGRASS77svn - startup error: TypeError: endswith first arg must
be bytes or a tuple of bytes, not str
--------------------------+------------------------------------
Reporter: hellik | Owner: grass-dev@…
Type: defect | Status: new
Priority: blocker | Milestone: 7.8.0
Component: Python | Version: svn-trunk
Resolution: | Keywords: python3, py3, wingrass
CPU: Unspecified | Platform: MSWindows
--------------------------+------------------------------------
Comment (by hellik):
Replying to [comment:12 pmav99]:
> OK, I see what is going on now.
>
> You are using Python 3.7.
yes. OSGeo4W-winGRASS7.7.svn is compiled/built against Python 3.x as a
test build for preparing the upcoming OSGeo4W-winGRASS7.8
> As a a result the {{{shutil_which}}} name is [https://github.com/GRASS-
GIS/grass-
ci/blob/a26ceefdc4e14edc0529b90c4d92c0122b6a4d0e/lib/python/script/core.py#L230-L231
an alias] to [https://docs.python.org/3/library/shutil.html#shutil.which
shutil.which] function
[https://github.com/python/cpython/blob/79efbb719383386051c72f2ee932eeca8e033e6b/Lib/shutil.py#L1293
defined] in the standard library.
>
> On Python 2 though, shutil_which is the function [https://github.com
/GRASS-GIS/grass-
ci/blob/a26ceefdc4e14edc0529b90c4d92c0122b6a4d0e/lib/python/script/core.py#L160
defined] in {{{scripts/core.py}}}.
>
> This is why there is this difference. The function in scripts.core is
never executed in Python 3.
yes it seems so.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3837#comment:13>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list