Skip to content

Initialize() fails at authentication #7

@Priyanka-geoinformatics

Description

@Priyanka-geoinformatics

Running into this problem on Julia v1.12, are there known issues with newer Julia versions or is this package simply outdated because not maintained for a few years? Any advice on alternatives appreciated!

julia> Initialize()
┌ Warning: Could not initialize an `ee` session. Trying authentication workflow...
└ @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:211
To authorize access needed by Earth Engine, open the following URL in a web browser and follow the instructions. If the web browser does not start automatically, please manually browse the URL below.

    https://accounts.google.com/o/oauth2/auth?client_id=...

Waiting for successful authorization from web browser ...
┌ Error: Could not authenticate `ee`...see following error: PyError ($(Expr(:escape, :(ccall(#= /Users/priyankashukla/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'Exception'>Exception("Error creating directory /Users/priyankashukla/.config/earthengine: [Errno 13] Permission denied: '/Users/priyankashukla/.config/earthengine'")
│   File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/__init__.py", line 159, in Authenticate
│     return oauth.authenticate(authorization_code, quiet, code_verifier, auth_mode,
│            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
│   File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/oauth.py", line 560, in authenticate
│     flow.save_code()
│   File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/oauth.py", line 610, in save_code
│     _obtain_and_write_token(code, self.code_verifier, self.scopes, redirect_uri)
│   File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/oauth.py", line 281, in _obtain_and_write_token
│     write_private_json(get_credentials_path(), client_info)
│   File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/oauth.py", line 204, in write_private_json
│     raise Exception(f'Error creating directory {dirname}: {e}')
└ @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:247
ERROR: Could not initialize an `ee` session or run authentication workflow. Please authenticate manually using the earthengine-api CLI (i.e. `$ earthengine authenticate`
Stacktrace:
 [1] Initialize(; kwargs::@Kwargs{})
   @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:217
 [2] Initialize()
   @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:198
 [3] top-level scope
   @ REPL[11]:1

caused by: PyError ($(Expr(:escape, :(ccall(#= /Users/priyankashukla/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'ee.ee_exception.EEException'>
EEException('Please authorize access to your Earth Engine account by running\n\nearthengine authenticate\n\nin your command line, or ee.Authenticate() in Python, and then retry.')
  File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/_utils.py", line 39, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/__init__.py", line 188, in Initialize
    credentials = data.get_persistent_credentials()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/data.py", line 237, in get_persistent_credentials
    raise ee_exception.EEException(  # pylint: disable=raise-missing-from

Stacktrace:
  [1] pyerr_check(msg::String, val::Nothing)
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/exception.jl:75
  [2] pyerr_check(msg::String)
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/exception.jl:79
  [3] _handle_error(msg::String)
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/exception.jl:96
  [4] macro expansion
    @ ~/.julia/packages/PyCall/1gn3u/src/exception.jl:110 [inlined]
  [5] #__pycall!##0
    @ ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:43 [inlined]
  [6] disable_sigint
    @ ./c.jl:167 [inlined]
  [7] __pycall!
    @ ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:42 [inlined]
  [8] _pycall!(ret::PyCall.PyObject, o::PyCall.PyObject, args::Tuple{}, nargs::Int64, kw::Ptr{Nothing})
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:29
  [9] _pycall!
    @ ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:11 [inlined]
 [10] (::PyCall.PyObject)()
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:86
 [11] Initialize(; kwargs::@Kwargs{})
    @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:215
 [12] Initialize()
    @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:198
 [13] top-level scope
    @ REPL[11]:1

caused by: PyError ($(Expr(:escape, :(ccall(#= /Users/priyankashukla/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'ee.ee_exception.EEException'>
EEException('Please authorize access to your Earth Engine account by running\n\nearthengine authenticate\n\nin your command line, or ee.Authenticate() in Python, and then retry.')
  File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/_utils.py", line 39, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/__init__.py", line 188, in Initialize
    credentials = data.get_persistent_credentials()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/priyankashukla/.julia/conda/3/aarch64/lib/python3.12/site-packages/ee/data.py", line 237, in get_persistent_credentials
    raise ee_exception.EEException(  # pylint: disable=raise-missing-from

Stacktrace:
  [1] pyerr_check(msg::String, val::Nothing)
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/exception.jl:75
  [2] pyerr_check(msg::String)
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/exception.jl:79
  [3] _handle_error(msg::String)
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/exception.jl:96
  [4] macro expansion
    @ ~/.julia/packages/PyCall/1gn3u/src/exception.jl:110 [inlined]
  [5] #__pycall!##0
    @ ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:43 [inlined]
  [6] disable_sigint
    @ ./c.jl:167 [inlined]
  [7] __pycall!
    @ ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:42 [inlined]
  [8] _pycall!(ret::PyCall.PyObject, o::PyCall.PyObject, args::Tuple{}, nargs::Int64, kw::Ptr{Nothing})
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:29
  [9] _pycall!
    @ ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:11 [inlined]
 [10] (::PyCall.PyObject)()
    @ PyCall ~/.julia/packages/PyCall/1gn3u/src/pyfncall.jl:86
 [11] Initialize(; kwargs::@Kwargs{})
    @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:208
 [12] Initialize()
    @ EarthEngine ~/.julia/packages/EarthEngine/2JG79/src/EarthEngine.jl:198
 [13] top-level scope
    @ REPL[11]:1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions