首页 > 解决方案 > 当我尝试导入自定义库时,如何在 Visual Studio Code 中修复 pylint(import-error)?

问题描述

我正在使用 python3 中的 Python 代码来导入几个自定义库。这些库位于文件结构中。从命令窗口运行代码时导入这些库没有问题,但是当我在 Visual Studio Code 中打开文件时,pylint 给我所有自定义库导入的导入错误。

我对这个问题做了很多令人沮丧的研究,发现很多人都遇到过类似的问题。但是,我无法让任何列出的解决方案发挥作用,但我对许多解决方案的理解还不够,甚至无法尝试。我试图卸载并重新安装 VScode、pylint 和 python 扩展本身。我已经尝试了一些与 launch.json 和 settings.json 混淆的事情,但我之前从未对 json 文件做过任何事情,而且我所做的任何事情似乎都没有任何区别。我只安装了一个 python 环境。我尝试使用“文件->打开文件夹...”打开文件夹,而不是使用上下文窗口方法。该代码使用 sys.path.append 以便可以找到包含该库的正确目录,正如我所说,从命令窗口运行时可以正常工作。

我看到的另一个解决方案是添加一行

init-hook='import sys; sys.path.append("/path/to/root")'

到文件 ~/.pylintrc。我我已经这样做了,但它并没有解决我的问题。然而,关于这个文件是什么,在哪里可以找到它,或者它需要什么路径几乎没有解释。我只是在我的文件资源管理器中搜索了“.pylintrc”,并找到了一个名为的文件,它就是我放置该行的位置。我通过导航到将所有库保存在子文件夹中的文件夹,然后复制/粘贴文件路径来获得“根路径”。

下面是如何导入库的示例。这行得通,只是就 pylint 或 VScode 而言。

#Custom libraries
sys.path.append(os.path.join( '../..', 'common', 'appdata'))
import appdata

“无法导入 'appdata' pylint(import-error)”在 'import' 上显示为错误

如果我尝试调试,我会收到消息

“发生异常:ImportError No module named 'appdata'”

我感谢可以提供的任何帮助。谢谢你。

标签: pythonvisual-studio-codepython-importimporterrorpylint

解决方案


文件.pylintrc是 Pylint 的配置文件。Pylint记录了它是如何找到pylintrc文件的。

问题是 Pylint 不执行您的代码,因此 Pylint 不知道您的自定义操作sys.path。因此,您需要做的是弄清楚如何告诉 Pylint 将您在代码中的文件夹视为sys.path. 一种方法是指定PYTHONPATH,另一种是在.pylintrc文件中指定它。

PS:sys.path.append(os.path.join( '../..', 'common', 'appdata'))应该是sys.path.append(os.path.join( '..', '..', 'common', 'appdata'))


推荐阅读