python模块导入错误-python-mode [VIM]

时间:2018-08-03 16:31:02

标签: vim vim-plugin python-mode

我正在尝试从另一个目录导入模块并使用python-mode运行脚本。我遇到模块未找到错误,但是该模块存在于该位置,并且我的sys.path显示模块路径已成功添加。我很难进行故障排除/修复。有人可以对此有所了解吗?

import numpy as np
import sys
sys.path.append('./extnsn/')
from extnsn import FX

错误堆栈为:

  

Feat / mFeat / feat_Xt_v2.py | 7错误|来自   extnsn import FX ImportError:没有名为“ extnsn”的模块

我的目录结构是:

Feat
    |
    |--mFeat
    |
    |--feat_Xt_v2.py
    |
    |--extnsn
            |
            |--__init__.py
            |--FX.py

extnsn目录的__init__.py具有以下内容:

from extnsn import FX

FX.py是模块名称,以供参考。

sys.path包含附加路径./extnsn/作为列表中的最后一个条目。

让我断定这不是路径问题的原因是,如果使用atom插件通过script执行该程序,则程序可以正常运行。

非常感谢您的帮助。

编辑:

这似乎不仅仅是python-mode的问题,而是vim调用python解释器和执行缓冲区的方式。我尝试使用不带python-mode的以下命令,问题是相同的。

1 个答案:

答案 0 :(得分:1)

要导入模块或包,必须将其添加到>>的父目录中。在您的情况下,如果您已将sys.path添加到./extnsn/,则无法导入sys.path(在extnsn中找不到),但是可以直接导入sys.path

FX

但是由于import FX 似乎是软件包FX中的一个模块,您最好将extnsn的父目录(即sys.path)添加到extnsn中: / p>

Feat