0

在过去的两周里,我没有使用 emacs 进行 python 编码,到那时一切都很完美,我的设置运行良好,包括绝地。

两天前我安装virtualenvwrapper在 python ( pip install virtualenvwrapper) 中,这就是我的 python 安装中从两周到今天发生的所有变化。我的 emacs 安装/设置没有任何变化,绝对没有。今天,两周内我第一次开始用 python 编码,当我emacs test.py在终端中输入时,我在emacs窗口中收到以下错误消息:

Error (jedi): Failed to start Jedi EPC server.
*** You may need to run "M-x jedi:install-server". ***
This could solve the problem especially if you haven't run the command yet
since Jedi.el installation or update and if the server complains about
Python module imports.

deferred error : (error Server may raise an error : Traceback (most recent call last):
File "/Users/javier/.emacs.d/.python-environments/default/bin/jediepcserver", line 5, in <module>
from pkg_resources import load_entry_point
File "/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 21, in <module>
import io
File "//anaconda/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: dlopen(/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
Referenced from: /Users/javier/.emacs.d/.python-environments/default/lib/python2.7/lib-dynload/_io.so
Expected in: dynamic lookup

这是我jedi一年前安装的方式:

1-我首先按照这里的说明进行绝地安装。顺便说一句,epc, argparse, jedi并且virtualenv已经安装在 python 中,当然。

2-我在某处(我不记得在哪里)读到 melpa 的 jedi 包没有更新。这对我来说听起来很奇怪,但我决定直接从 github 下载:jedi-githubjedipython-environment-github。我把它们放在和python-environment~/.emacs.d/emacs-jedi/~/.emacs.d/emacs-python-environment/

3-然后通过执行以下操作进行设置jedi

;;Standard Jedi.el setting (read readme-jedi at .emacs.d/)
(add-to-list 'load-path "~/.emacs.d/emacs-jedi/")
(add-to-list 'load-path "~/.emacs.d/emacs-python-environment/")
(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)

4-我在emacs上运行:M-x jedi:install-server

完成了!直到今天,这对我来说已经工作了一年!

当然,作为解决此问题的第一次尝试,我完全按照错误消息的建议执行并运行(再次)M-x jedi:install-server。然后我得到以下错误:

Running: pip install --upgrade /Users/javier/.emacs.d/emacs-jedi/...Done
deferred error : (error Process [/Users/javier/.emacs.d/.python-environments/default/bin/pip] exited abnormally : Traceback (most recent call last):
File "/Users/javier/.emacs.d/.python-environments/default/bin/pip", line 7, in <module>
from pip import main
File "/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/site-packages/pip/__init__.py", line 13, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/site-packages/pip/utils/__init__.py", line 14, in <module>
import zipfile
File "//anaconda/lib/python2.7/zipfile.py", line 6, in <module>
import io
File "//anaconda/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: dlopen(/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
Referenced from: /Users/javier/.emacs.d/.python-environments/default/lib/python2.7/lib-dynload/_io.so
Expected in: dynamic lookup

在此之后,以及其他一些尝试,我决定重新安装所有东西,只使用 melpa。(即在绝地安装之后)。然后我运行M-x jedi:install-server并收到与之前描述的非常相似的错误消息:

Making completion list...
Running: pip install --upgrade /Users/javier/.emacs.d/elpa/jedi-core-0.2.5/...Done
deferred error : (error Process [/Users/javier/.emacs.d/.python-environments/default/bin/pip] exited abnormally : Traceback (most recent call last):
File "/Users/javier/.emacs.d/.python-environments/default/bin/pip", line 7, in <module>
from pip import main
File "/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/site-packages/pip/__init__.py", line 13, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/site-packages/pip/utils/__init__.py", line 14, in <module>
import zipfile
File "//anaconda/lib/python2.7/zipfile.py", line 6, in <module>
import io
File "//anaconda/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: dlopen(/Users/javier/.emacs.d/.python-environments/default/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
 Referenced from: /Users/javier/.emacs.d/.python-environments/default/lib/python2.7/lib-dynload/_io.so
Expected in: dynamic lookup

总而言之,在这个阶段,我的文件或我的目录与原始安装相比没有任何变化。.emacs.emacs.d

在过去两天里对我的 python 包安装所做的所有更改都是简单的virtualenvwrapper. 在这个阶段我很迷茫。非常感谢任何帮助。

在此先感谢您的时间。

4

0 回答 0