代码之家  ›  专栏  ›  技术社区  ›  jost21

VS代码中anaconda环境的“无法导入”错误

  •  1
  • jost21  · 技术社区  · 7 年前

    我正在尝试使用Python解决偏微分方程 FEniCS . 我安装了它 anaconda conda-forge 要使用它,我激活 fenicsproject 环境

    source activate fenicsproject
    

    我在计算机中运行脚本 jupyter (这是可行的),但通常使用VS代码来获得更复杂的代码更方便。当我在(内置)终端中运行用VS代码编写的脚本时,只要我有 费尼克斯项目 环境启用。

    但是在编辑器中,我遇到了很多这样的错误

    [pylint] Unable to import '...' [E0401]'
    [pylint] Undefined variable '...' [E0602]

    还有什么更好的方法,使自动完成和建议适用于这样的包 fenics , mshr

    1 回复  |  直到 7 年前
        1
  •  5
  •   wizzwizz4    7 年前

    根据 the Python in Visual Studio Code docs ,这可能是由于Visual Studio代码指向错误的Python版本。

    1.无法导入(pylint)

    • 场景:您安装了一个模块,但是IDE中的linter正在抱怨;无法导入模块,因此出现错误 以下消息将显示为linter错误:

      .. unable to import 'xxx' ..
      
    • 原因:Python扩展很可能使用了错误的Pylint版本。
    解决方案1:(将工作区设置配置为指向完全限定的python可执行文件):
    1. 确定python可执行文件的完全限定路径(这甚至可能是一个虚拟环境)
    2. 确保为上述python环境安装了Pylint
    3. 将设置“pythonPath”配置为指向(先前标识的)完全限定的python可执行文件。

      "python.pythonPath": "/users/xxx/bin/python" ```
      
    解决方案2:(从激活的虚拟环境打开VS代码):
    1. 激活相关的python虚拟环境
    2. 确保在此虚拟环境中安装Pylint

      pip install pylint
      
    3. 关闭VS代码的所有实例
    4. 在此终端窗口中启动VS代码
      (这将确保VS代码进程将继承所有虚拟环境设置)