题主使用anaconda创建了虚拟环境,通过cmd命令行安装了一些必要的库,但当我在vscode使用该虚拟环境时却发现vscode一直报错说我有一些库没安装上,比如numpy。
Traceback (most recent call last):
File "d:/APPFiles/test/test.py", line 1, in <module>
import numpy as np
File "C:\Users\AAAA-\.conda\envs\AD_py36\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\AAAA-\.conda\envs\AD_py36\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: 找不到指定的模块。
最初,不确定问题出在哪里,所以我直接在cmd中输入python语句"import numpy as np"发现可以运行且没有报错,说明我的虚拟环境中的确安装了numpy,而且可以运行,那么问题就出在vscode的某个环节中。
随后,我在vscode中重新运行代码,发现_init_.py和_distributor_init_.py有问题都是from . import ***说明有东西在运行代码时没有找到。查了很多解决方法后,发现这个是环境路径的问题。安装anaconda时虽然选择了把anaconda的一些路径自动添加到Path中,但是虚拟环境中的第三方库的包等路径并没有添加到系统环境Path中,如下:
所以,在base环境中运行"import numpy as np"没有问题,但在虚拟环境中运行就报错。
综上,解决方案就是将虚拟环境中对应三个路径添加到系统环境变量Path中,然后重启vscode即可。
先找到自己的虚拟环境,把虚拟环境的根路径添加到Path上,随后将下面的Scripts和Library\bin路径也添加到系统环境变量中