pip下载模块成功,python命令执行import却报错
今天用pip下载torch,搞了半天,但是在pycharm里import torch一直会报错:
ImportError: DLL load failed: 找不到指定的模块。
查了半天终于发现了问题所在并成功解决。
一、判断pip是否下载成功
首先需要判断是否下载成功
pip list
控制台输入pip list能查看所有已经成功下载的包。在列表里查看是否有你需要下载的包。我以torch为例(其他包也是一样的):
列表里有torch则证明下载成功。
二、查看pip安装路径
pip安装包已经成功,为什么却找不到指定模块呢?pip安装的包所在的路径不在sys.path路径下。
我们先查看一下sys.path有啥:
python
import sys
sys.path
所得结果就是python环境所能访问到的路径了。
再看看我们刚刚下载的包在哪?
我们发现刚刚下载的包的路径不在sys.path下,这就是问题所在了。
三、将包路径添加到sys.path下
(1)方法1
可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!(所以也就是说没用,但是可以帮助我们更好理解问题)
import sys
sys.path.append('c:\users\zc980807\anaconda3\acpy\lib\site-packages')
添加之后
成功!但是退出python,程序进python还是会报原来的错误!
(2)方法2
自己新建一个后缀名为 .pth 的文件放到 sys.path其中任意一个目录下
我将.pth文件放在了 C:\Users\zc980807\Anaconda3\DLLs 路径下(刚刚sys.path查到的路径之一)
pth文件内容即为安装包的位置
文件路径与文件内容均为二中所查到的路径
重新import 发现问题解决,pycharm中也可以正常运行