emacsjedi没有找到numpy Completion

2024-04-25 09:10:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我安装了emacsjedi来完成emacs中的python代码。总的来说,我必须说我印象很深刻!它可以很好地开箱即用,并且可以快速找到内置库的完成。然而,我将python用于科学目的,我的工作依赖于numpy和scipy。由于某些原因,我没有完成这些模块。在

示例:

import numpy 

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

现在键入testVector。什么也没出现


Tags: 模块代码import目的numpy示例原因科学
2条回答

我能办完这样的案子。像下面这样

enter image description here

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

我想知道为什么它不起作用。它看起来像是sys.path问题,但它应该在没有任何配置的情况下工作。但这里有一些关于暴力修复的想法。在

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

import os
import numpy
print(os.path.dirname(os.path.dirname(numpy.__file__)))

{like path}(like path)强制添加^(cd2)}。在

^{pr2}$

另请参见:http://tkf.github.com/emacs-jedi/#jedi:server-args


编辑1

读了你对@syohex的回答的评论,你似乎混淆了一些安装方法。杰德.el在目录中使用virtualenv“env/”绝地武士,如果存在的话。如果你有virtualenv,elget会自动创建“env/”。所以,如果你喜欢系统安装,你需要告诉绝地武士要忽略“evn/”,请执行以下操作:

(require 'jedi)
(setq jedi:server-command (list "python" jedi:server-script))

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


编辑2

从你的描述我不知道为什么会这样。这里有几种缩小问题范围的方法。在

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

    这将打开一个干净的(即,它不读取您的设置)Emacs进程,并为绝地武士. 让我们看看你能不能完成numpy和scipy。

  2. 你能在Emacs中导入numpy和scipy吗?在Emacs和shell中可以有不同的环境变量。运行M-! python -c 'import numpy' RET。如果这没有给你一个错误,那么它是好的。

  3. 你能用env/bin/python导入numpy和scipy吗?最好的方法是从Emacs检查它。在

    所以首先转到目录绝地武士已安装(例如,C-x C-f ~/.emacs.d/el-get/jedi/ RET)。在

    然后运行M-! env/bin/python -c 'import numpy' RET。如果这没有给您一个错误,那么应该可以导入numpy和scipy。

我希望至少有一个错误,否则我需要考虑另一种可能性。在

相关问题 更多 >