首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >emacs-jedi找不到numpy补全

emacs-jedi找不到numpy补全
EN

Stack Overflow用户
提问于 2013-02-05 21:16:58
回答 2查看 3.4K关注 0票数 8

我安装emacs-jedi是为了在emacs中获得一些python的代码完成。总的来说,我必须说,我印象非常深刻!它开箱即用,可以快速地为构建的-in库找到完备库。但是,我将python用于科学目的,并依靠numpy和scipy完成我的工作。由于某些原因,我没有得到这些模块的补全。

示例:

代码语言:javascript
复制
import numpy 

testVector = numpy.array([1,2,3])

现在输入testVector。等待着,什么也没有显示出来

EN

回答 2

Stack Overflow用户

发布于 2013-02-06 08:37:46

我想知道为什么它不能工作。这看起来像是sys.path的问题,但它应该不需要任何配置就能工作。但这里有一些暴力修复的想法。

(1)运行以下脚本,获取numpy的加载路径。

代码语言:javascript
复制
import os
import numpy
print(os.path.dirname(os.path.dirname(numpy.__file__)))

(2)像这样设置jedi:server-args强制添加路径。

代码语言:javascript
复制
(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/“:

代码语言:javascript
复制
(require 'jedi)
(setq jedi:server-command (list "python" jedi:server-script))

另请参阅:http://tkf.github.com/emacs-jedi/#jedi:server-command

编辑2

从你的描述中我不知道为什么会发生这种情况。以下是几种缩小问题范围的方法。

  1. 在安装jedi.el的目录中运行make tryout (如~/.emacs.d/el-get/jedi/)。

这将打开一个干净的(即,它不读取您的设置) Emacs进程,其中只有最少的jedi.el设置。让我们看看你是否能完成numpy和scipy。,

  • ,你能在Emacs中导入numpy和scipy吗?您可以在Emacs和shell中使用不同的环境变量。运行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。

我希望其中至少有一个会给你一个错误,否则我需要考虑另一种可能性。

票数 6
EN

Stack Overflow用户

发布于 2013-02-05 22:38:35

我可以在这样的情况下完成。像下面这样

你可以使用旧的需求模块(jedi,epc,argparse)。您应该更新它们,然后重试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14708453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档