vscode虚拟环境下无法找到包

错误详情:

Traceback (most recent call last):
  File "D:\software\Anaconda3\envs\swim\lib\site-packages\numpy\core\__init__.py", line 22, in <module>
    from . import multiarray
  File "D:\software\Anaconda3\envs\swim\lib\site-packages\numpy\core\multiarray.py", line 12, in <module>
    from . import overrides
  File "D:\software\Anaconda3\envs\swim\lib\site-packages\numpy\core\overrides.py", line 7, in <module>
    from numpy.core._multiarray_umath import (
ImportError: DLL load failed: 找不到指定的模块。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:/code/ViT/models/import sys.py", line 4, in <module>
    import numpy
  File "D:\software\Anaconda3\envs\swim\lib\site-packages\numpy\__init__.py", line 150, in <module>
    from . import core
  File "D:\software\Anaconda3\envs\swim\lib\site-packages\numpy\core\__init__.py", line 48, in <module>
    raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  * The Python version is: Python3.7 from "D:\software\Anaconda3\envs\swim\python.exe"
  * The NumPy version is: "1.21.2"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: DLL load failed: 找不到指定的模块。

但是在cmd窗口下运行虚拟环境是没有问题的.

1.python可以正常使用
2.库可以正常调用

但是在vscode里面出现了问题。

python模块查找路径

python中每一个.py模块即为一个模块,python搜索模块路径为

1.当前文件夹路径
2.PYTHONPATH环境变量所对应的文件路径
3.python安装的标准链接库等文件夹路径
4.pth文件列出的文件夹路径

解决办法一如下:

1、在vscode里面打印路径

import sys

for i in range(len(sys.path)):

    print(sys.path[i])

输出结果:

D:\software\Anaconda3\envs\swim\python37.zip
D:\software\Anaconda3\envs\swim\DLLs
D:\software\Anaconda3\envs\swim\lib
D:\software\Anaconda3\envs\swim
D:\software\Anaconda3\envs\swim\lib\site-packages

而我的本地文件为:

D:\software\Anaconda3\envs\swim\Lib

大小写不一致。

所以只要再将这些添加到自己的环境变量中即可解决。

但是我觉得太麻烦了,每次创建一个虚拟环境都要添加环境变量。

解决办法二如下:

在VScode中使用Anaconda的虚拟环境,发现不同的虚拟环境之间的切换还是蛮容易的(点左下角的Python…按钮,可以自由选择环境)。但是不管是命令行(Terminal),还是直接点击绿色按钮运行代码,都无法正常运行,即找不到我自己安装的第三方库。但是我直接使用cmd则可以正常运行程序。

发现我的VScode命令行没有激活conda的虚拟环境。即使使用了conda activate也不行。搜索发现,我当前处在powershell的命令行模式中,而不是命令行cmd模式。

这需要通过在预设setting.json文件中添加下面的语句,可以使powershell模式变为cmd模式,其实就是加了一个指向系统cmd的指令。

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",

语句添加方法——setting.json如何打开?

1、系统的setting.json:点击左下角的齿轮按钮,或 File-Preferences-Settings。

之后添加上述语句,保存之后退出软件再重新打开。现在可以使用cmd命令了

(新版本vscode如何打开setting.json :

新版vscode如何打开settings.json-百度经验 (baidu.com)

)

在vscode终端里面输入conda activate 虚拟环境

再运行程序,不再报错。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
VSCode是一款开源的跨平台代码编辑器,支持多种编程语言。而Python环境的创建则是在VSCode中很常见的一个需求,特别是当我们需要开发或者调试多个Python项目时,不同的项目可能需要不同的Python版本、不同的Python、不同的配置等等;此时,使用虚拟环境是一种好的方式。 下面简单介绍如何在VSCode中创建虚拟环境Python。 1. 首先,在VSCode中安装Python插件。在左侧导航栏中,找到Extensions,搜索Python并安装。 2. 打开一个Python项目,可以是新建也可以是已有的项目。如果是新建的项目,需要先打开一个目录,然后新建一个Python文件。 3. 首次使用虚拟环境,需要安装相应的。打开终端,可以选择终端选项卡,也可以使用快捷键ctrl+shift+`(注意是英文状态下的反引号键)。输入以下命令,其中venv是虚拟环境的名称,可以按需更改: python -m venv venv 4. 激活虚拟环境。在终端中输入以下命令: venv\Scripts\activate.bat 提示符中出现了(venv)前缀,这表示虚拟环境已经激活成功。在这个环境中,我们所用到的Python解释器、等都与系统中的Python无关。 5. 安装所需的Python。在虚拟环境中使用pip命令即可。例如安装numpy,可在终端中输入以下命令: pip install numpy 6. 在VSCode中选择虚拟环境。Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter,选择已经创建好的虚拟环境,比如venv\Scripts\python.exe。这样VSCode就会使用这个虚拟环境中的Python解释器来执行程序,同时可以在VSCode中使用虚拟环境中所安装的Python

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值