python - 当我尝试导入自定义库时,如何在 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'”
我感谢可以提供的任何帮助。谢谢你。
解决方案
文件.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'))
。
推荐阅读
- typescript - 打字稿:noop => noop
- java - 如何将图像(应该是精确大小)写入外部存储
- spring - Hibernate识别连接泄漏?
- acumatica - 如何在不改变基本图行为的情况下覆盖图扩展中的 PXFilteredProcessingJoin?
- r - 如何使用 ggplot 抑制图例
- python - 通过匹配列名选择列
- node.js - 在 docker Selenium_Hub、Selenium-Node-Chrome-Debug 和带有 Mocha + Selenium-Webdriver (JS) 的容器中运行测试时无法上传文件
- html - 将字体规范从 Adobe XD 复制到 html/css
- python - 请帮助我使用python
- sql - SQL UNION ALL 查询返回日期字段中的所有 Null 值