【问题标题】:Problems with anaconda and VScodeanaconda 和 VScode 的问题
【发布时间】:2020-08-25 10:49:44
【问题描述】:

我一直在使用 vsCode 进行 HTML 编辑,并且我刚刚开始使用 python 3.8 和 anaconda 来制作一些工作图。我已经成功地将 anaconda 与下载期间附带的 IDE 一起使用,Spyder。但是当我在 vsCode 中尝试相同的代码时,没有一个导入包起作用。

这是我在练习 spyder 和 vsCode 时尝试的简单代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 20, 100)  # Create a list of evenly-spaced numbers over the range
plt.plot(x, np.sin(x))       # Plot the sine of each x point
plt.show()                   # Display the plot

我不断收到的错误是:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 24, in <module>
    from . import multiarray
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\multiarray.py", line 14, in <module>
    from . import overrides
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\overrides.py", line 7, in <module>
    from numpy.core._multiarray_umath import (
ImportError: DLL load failed: The specified module could not be found.

还有更多告诉我重新安装 numpy,我这样做了,但仍然没有用。我一直在阅读大量内容并观看视频和教程以尝试完成这项工作。我做的一切都是一样的,就像安装过程一样,但是在我的 vsCode 上,python 解释器是不同的,它显示了与其他所有东西不同的“python3.7.4 base:conda”。

任何事情都会有所帮助,感谢您抽出宝贵时间来研究这个问题。对不起,如果它平凡。

这是一张图片,可能比我更能解释我的问题:

terminal in vscode

【问题讨论】:

    标签: python-3.x numpy matplotlib visual-studio-code anaconda3


    【解决方案1】:

    使用 conda 安装选项重新安装这些软件包。对于这种情况下的 numpy:

    https://anaconda.org/anaconda/numpy

    【讨论】:

    • 我这样做了,但仍然是同样的问题。这可能是电源外壳问题吗,第一行注释“conda”无法识别...
    • 您需要将 conda 添加到您的路径中。为此:在搜索栏中输入“编辑系统环境变量”并打开它。找到名为“环境变量”的选项并单击它。选择 PATH 变量并将“您的”anaconda 位置添加到该变量。例如:(将下面的路径更改为您的实际路径)在这种情况下,您需要添加这两个路径。 C:\Anaconda3 和 C:\Anaconda3\Scripts
    • 您是否设置了运行虚拟环境?
    • @jmh 我已经为此工作了一整天。所以我最近才了解如何设置虚拟环境。我在 Anaconda 提示符下玩这个。当我安装我需要的所有软件包时,它工作得很好。下一步,尝试在 vscode 中执行此操作
    • @gert 好吧,我只是添加新路径。当前运行到 python38,如果我决定从仅科学脚本开始扩展,我认为这对于在 python 中运行另一个程序仍然很重要。如果我在这方面有任何错误,请纠正我。抱歉,这对很多东西都很陌生。大学习曲线
    【解决方案2】:

    Anaconds 的新版本不再安装 numpy。激活虚拟环境后,您需要运行以下命令。从命令行运行它。

    conda install -n yourenvname numpy  
    

    其中 yourenvname 是您的虚拟环境的名称。我希望这有帮助。这应该。如果它没有留下评论,我会给你一些其他可能有帮助的东西。

    【讨论】:

    • 在 anaconda promt 中工作。我能够在环境中运行安装,然后在 anaconda promt import numpy import matplotlib 中运行 python,并且 pandas 都可以正常工作。我想现在我对 vscode 的问题是它会自动在终端窗口中的 windows powershell 中运行任何 python 程序,并且conda activate myenvtest 不会 rtun 执行 `` 术语 'conda' 无法识别' ```跨度>
    • 查看主要帖子中的编辑我在最后放了一张图片,向您展示它向我展示的内容。
    • 您是在虚拟环境中运行 conda。
    • 我想是的。我做了conda环境,在vscode中选择的python interperter是“python 3.8.2 64-bit ('myenvtest":conda)”
    • 所以我现在尝试了多种方法。但似乎朝着正确方向的一件事是@gert 提到的关于在环境变量中添加路径的内容。现在我可以在 windows powershell 和 cmd 中运行 conda create -n myenv 或其他 conda cmd,但仍然不想在 vscode 中工作。在我这样做之前,它 conda 没有在 cmd 中工作
    【解决方案3】:

    我重现了你的问题,找到了原因(可能是)。

    关键是py文件需要在特定环境下运行。很明显,你的conda环境没有激活。VSCode官方python语言扩展目前不支持从Powershell自动激活conda环境。如果使用 conda,则需要将终端切换到 CMD。

    关于虚拟环境的自动激活

    首先,配置 Conda Path

    当你使用 conda 虚拟环境作为 python 解释器时,VSCode 会在你打开一个新的终端窗口后自动激活它。就像这样(CMD 终端): 所以你可以看到提示以“(test_new)”开头,这意味着conda env已经准备好了。

    如果我们换成Powershell终端,结果可能是这样的: VSCode 目前不支持从 Powershell 自动激活 Conda 环境(其实 Anaconda 支持 powershell,你可以在 Windows 的开始菜单中找到)。

    【讨论】:

    • 所以我找到了一种方法让它在 VS 代码上同时在 Mac 和 Windows 中工作。这是一个解决方法。在终端/anaconda powershell 中创建 conda 环境并安装所有 python 包之后。打开 anaconda Navigator 应用程序并从那里打开 VScode。似乎以某种方式激活了 VScode 中的终端只需要这样做一次,然后每次都可以工作。有几个打嗝。但是当发生错误时,我只是重新尝试了相同的方法并且它起作用了。
    • 其实我已经报告了一个问题,我有很多方法可以让powershell自动激活vscode中的conda环境,但没有一个是完美的。唯一接近完美的事情应该是使用 conda 命令为 powershell 安装配置文件:conda init powershell。当然,从 anaconda promt 启动 vscode 也是一个不错的方法。 github.com/microsoft/vscode-python/issues/11638
    【解决方案4】:

    所以最终在 Mac 和 pc 上为我工作的是在安装 anaconda 之后,我创建了我的 conda 环境。在 mac 上,我通过终端完成了这一切,在 PC 上,我使用了 anaconda cmd 或 powershell,两者都可以工作。

    创建 conda 环境并添加 python 包后,使用 anaconda 应用程序打开 VS 代码。不知何故,它如何激活终端以与 anaconda 一起工作。一旦选择了文件夹,请确保选择您的 anaconda 环境作为您的 python 解释器。请注意,我只需要这样做一次。在那之后,我再也没有遇到过这个问题。所以我认为这对于可能遇到同样问题的其他人来说是一个很好的解决方案。

    我不是专家,但这对我有用。所有软件包都工作,我的代码运行正常。希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 2019-05-09
      • 2014-07-11
      • 1970-01-01
      • 2018-09-13
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多