vscode中activate切换虚拟环境出错:DLL load failed找不到指定的模块

问题背景

在vscode中切换虚拟环境的时候总是出错,找不到模块。比如我的电脑中有一个叫torch6的anaconda环境,里边安装了pytorch。我的base环境下有numpy,但是没有pytorch。此时,打开vscode,新建一个py文件,写了某段程序:

import os
import numpy as np
import torch
#...

然后在左下方选择解释器为“Python 3.6.9 64-bit (‘torch6’:conda)”,按F5运行该py文件。如果当前文件夹下没有launch.json的话,会提示你创建一个,选python那个创建json文件,创建了之后不编辑其中的内容直接保存,再次按F5运行该py文件,就会开始运行该脚本。

发现出错了!

但是运行出错了,发现在第三行import torch这里报错(DLL load failed找不到指定的模块)。按F5运行程序时,在终端中会出现这么一条命令:

f:; cd ‘当前文件夹路径’; & ‘E:\Anaconda3\envs\torch6\python.exe’…,

看命令里也提到了envs\torch6\python.exe,好像是调用了torch6环境的解释器,但是为什么报错呢?

思考

numpy没报错,但是torch报错了,说明虚拟环境加载有问题。如果torch6环境成功加载了的话,导入pytorch的包的时候是不应该报错的。也就是说,命令里调用了envs\torch6\python.exe解释器,并不代表torch6环境的成功加载。

后来发现,导致这一问题的原因可能是,加载虚拟环境的activate语句并没有执行成功。在vscode中切换虚拟环境后,按F5运行程序时,都会出现一个“activate xxx”,以激活某一虚拟环境。如果没有运行这一条,即便是调用的某一env下的解释器(如envs\torch6\python.exe),也无法载入该解释器中的包(如torch6环境下的pytorch)。

愁死了。。怎么解决?

在系统变量的PATH一项中,为电脑添加如下的环境变量:
E:\Anaconda3\envs\torch6\Library\bin
E:\Anaconda3\envs\torch6\Scripts
E:\Anaconda3
然后重启vscode,发现居然好了。。。不知道是哪个命令的功劳。。

现在呢?

加完了环境变量以后运行就没问题了。。

一点想法

环境变量应该是有用的,如果发现不行,可能环境变量写的不对。
另外有人说采用cmd做终端(默认的是powershell),这个我试了但是不行。个人感觉这是个很复杂的问题,涉及了环境变量、anaconda、vscode、cmd等多个方面。如果你之前捣鼓过你的电脑,导致你的电脑在其中某一方面的配置和其他人的电脑不一样,可能这个方法就不太好用。这种情况比较少见,因为大部分网上的方法效果还是不错的,但是如果出现了这种问题,那也没办法,只能自己摸索着调整电脑的环境。。。

在PyCharm中遇到`ImportError: DLL load failed: 不到指定模块`通常是由于Python环境中的NumPy库未能正确安装或者与系统中其他版本的库冲突导致的。以下是解决这个问题的一些步骤: 1. **检查安装**: - 确认是否已经通过pip安装了NumPy。打开命令行或终端,输入`pip list | grep numpy`,如果结果显示有numpy,则说明已安装。 - 如果未安装,尝试运行`pip install numpy`。 2. **环境变量设置**: - 确保Anaconda(如果使用的话)的环境路径已添加到系统的PATH环境变量中,因为NumPy有时会作为Conda的一部分安装。 3. **修复包冲突**: - 使用conda创建一个新的虚拟环境,然后在该环境中安装NumPy,例如`conda create --name new_env python=3.9` 和 `conda activate new_env` `conda install numpy` 4. **重装NumPy**: - 使用管理员权限运行命令行,以防权限不足,尝试`pip install --upgrade numpy`或`conda install --force-reinstall numpy`. 5. **更新系统库**: - 更新操作系统或IDE的库管理器,看是否有相关的更新可以修复此问题。 6. **清理缓存**: - 清理IDE的缓存,如PyCharm的File > Invalidate Caches / Restart。 7. **重启计算机**: - 最后一招,有时候简单地重启计算机可能会解决问题。 如果以上步骤都不能解决问题,可能是Python解释器链接到的DLL文件损坏或缺失,你可能需要手动下载对应版本的NumPy二进制文件并替换掉错误的文件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值