pythonic-emacs / anaconda-mode

Code navigation, documentation lookup and completion for Python.
GNU General Public License v3.0
708 stars 87 forks source link

`EOFError: Ran out of input` in spacemacs #436

Open Zlopez opened 1 year ago

Zlopez commented 1 year ago

I'm running spacemacs and I'm getting this error with anaconda-mode

Traceback (most recent call last):
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/inference/compiled/subprocess/__init__.py", line 249, in _send
    is_exception, traceback, result = pickle_load(self._get_process().stdout)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/_compatibility.py", line 12, in pickle_load
    return pickle.load(file)
           ^^^^^^^^^^^^^^^^^
EOFError: Ran out of input

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/api/environment.py", line 77, in _get_subprocess
    info = self._subprocess._send(None, _get_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/inference/compiled/subprocess/__init__.py", line 257, in _send
    raise InternalError(
jedi.api.exceptions.InternalError: The subprocess /var/home/zlopez/git/toddlers/.venv/bin/python has crashed (EOFError('Ran out of input'), stderr=).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/home/zlopez/.emacs.d/elpa/29.1/develop/anaconda-mode-20230821.2131/anaconda-mode.py", line 124, in <module>
    virtual_environment = jedi.create_environment(virtual_environment, safe=False)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/api/environment.py", line 367, in create_environment
    return Environment(_get_executable_path(path, safe=safe), env_vars=env_vars)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/api/environment.py", line 68, in __init__
    self._get_subprocess()
  File "/var/home/zlopez/.emacs.d/.cache/anaconda-mode/0.1.15-py3/jedi/api/environment.py", line 79, in _get_subprocess
    raise InvalidPythonEnvironment(
jedi.api.environment.InvalidPythonEnvironment: Could not get version information for '/var/home/zlopez/git/toddlers/.venv/bin/python': InternalError("The subprocess /var/home/zlopez/git/toddlers/.venv/bin/python has crashed (EOFError('Ran out of input'), stderr=).")
kschwab commented 10 months ago

@Zlopez I hit this issue as well on doom emacs. In my case, it was related to using Python 3.12 which is not supported by anaconda-mode. I verified by installing Python 3.10 and everything worked.

Looks like anaconda-mode needs to add support for Python versions greater than 3.10.

Spamakin commented 9 months ago

I am getting this error still. Running Python 3.12.1 in doom emacs. In particular here is the full error: Server error: InvalidPythonEnvironment('Could not get version information for \'/usr/local/bin/python3\': InternalError("The subprocess /usr/local/bin/python3 has crashed (EOFError(\'Ran out of input\'), stderr=).")') - see *anaconda-mode* for more information. Not sure how to resolve this.

kschwab commented 9 months ago

@Spamakin, try updating your doom config to point to the latest changes. I have the following in my .doom.d/packages.el:

;; Workaround for Python 3.11, 3.12 support until officially added to doom:
(unpin! anaconda-mode)
(package! anaconda-mode :pin "92a6295622df7fae563d6b599e2dc8640e940ddf")