我安装emacs-jedi是为了在emacs中获得一些python的代码完成。总的来说,我必须说,我印象非常深刻!它开箱即用,可以快速地为构建的-in库找到完备库。但是,我将python用于科学目的,并依靠numpy和scipy完成我的工作。由于某些原因,我没有得到这些模块的补全。
示例:
import numpy
testVector = numpy.array([1,2,3])现在输入testVector。等待着,什么也没有显示出来
发布于 2013-02-06 08:37:46
我想知道为什么它不能工作。这看起来像是sys.path的问题,但它应该不需要任何配置就能工作。但这里有一些暴力修复的想法。
(1)运行以下脚本,获取numpy的加载路径。
import os
import numpy
print(os.path.dirname(os.path.dirname(numpy.__file__)))(2)像这样设置jedi:server-args强制添加路径。
(setq jedi:server-args
'("--sys-path" "THE/PRINTED/PATH/FOR/NUMPY"
"--sys-path" "THE/PRINTED/PATH/FOR/SCIPY"))另请参阅:http://tkf.github.com/emacs-jedi/#jedi:server-args
编辑1个
阅读你对@syohex的回答的评论,看起来你混淆了一些安装方法。jeid.el使用jedi.el所在目录中的virtualenv "env/“。如果你有virtualenv,el-get会自动创建"env/“。因此,如果您喜欢系统安装,则需要通过执行以下操作告诉Jedi.el忽略"evn/“:
(require 'jedi)
(setq jedi:server-command (list "python" jedi:server-script))另请参阅:http://tkf.github.com/emacs-jedi/#jedi:server-command
编辑2
从你的描述中我不知道为什么会发生这种情况。以下是几种缩小问题范围的方法。
make tryout (如~/.emacs.d/el-get/jedi/)。这将打开一个干净的(即,它不读取您的设置) Emacs进程,其中只有最少的jedi.el设置。让我们看看你是否能完成numpy和scipy。,
M-! python -c 'import numpy' RET。
env/bin/python导入numpy和scipy吗?最好的方法是从Emacs中检查它。因此,首先转到安装jedi.el的目录(例如,C-x C-f ~/.emacs.d/el-get/jedi/ RET)。
然后运行M-! env/bin/python -c 'import numpy' RET。如果这没有给您一个错误,那么应该可以导入numpy和scipy。
我希望其中至少有一个会给你一个错误,否则我需要考虑另一种可能性。
发布于 2013-02-05 22:38:35
我可以在这样的情况下完成。像下面这样

你可以使用旧的需求模块(jedi,epc,argparse)。您应该更新它们,然后重试。
https://stackoverflow.com/questions/14708453
复制相似问题