前言
看到各位小伙伴总是因为各种各样的环境问题陷入苦恼,所以我觉得有必要把常见问题和解决问题整理成册,以便大家从环境配置问题中解放出来,将精力更多地投入到课程中。
背景知识
在解决对应的问题之前,请花5-10分钟了解下python运行环境的基础知识,这有助于大家理解下面的问题产生原因,进而能够帮助大家未来独立自主解决问题。
在日常学习中,我们一定或多或少接触到以下这些软件,他们的关系大概是这样:
-
我们一定安装过Python。对!就是从python官网下载的.exe程序,对应上图中左侧的Python。
-
我们也安装过anaconda,这是一个组合套件,其内部也带了一个Python,对应上图中右侧的Python。
比如,我的机器上,Python安装在图1的位置,而anaconda中的Python在图2的位置
所以,我们的机器上实际有两个Python,这就导致了后续一系列的问题,比如:
- 安装时:在CMD命令提示符下运行pip install torch的话,其默认是将torch安装在左侧的python环境下
- 使用时:我们在Jupyter notebook中import时,它是在右侧的python环境里找torch,那么自然就找不到了。
理解了以上运行环境的关系之后,下面的问题就比较容易理解了。
问题手册
第一类:安装成功但不能使用
问题:已经成功安装pytorch,但是import torch时提示"No module named torch"
问题现象:
问题原因:
如背景知识中所介绍的原因
解决方法:
1、启动anaconda prompt (一般在开始菜单中可以找到入口)
2、在anaconda prompt下运行安装命令即可。
问题:已经成功安装pytorch,但是import时提示"找不到指定的模块"
问题原因:待补充
解决方法:待补充
第二类:安装不成功
问题:安装时提示"拒绝访问"
问题原因:
因为在安装pytorch时,需要替换本地的.dll文件;而对应的文件因为没有访问权限(例如:只读属性或运行命令行时不是管理员),导致替换对应的文件权限不足。
解决方法:
1、在运行anaconda prompt时,选择以管理员身份运行
问题:安装时提示pip不是内部或/外部命令
问题原因:
如背景知识中的图示,CMD命令行没有与Python建立关联,导致CMD找不到对应的Python解释器。
解决方案:
在系统→设置→高级系统设置→环境变量中添加anaconda的python.exe的位置,这样就建立起CMD与右侧Python环境的关联。(如果你习惯使用左侧自己安装的Python解释器的话,那么此处就配置Python的安装位置)
其他问题待补充…..
写在最后
授人以鱼不如授人以渔
以上的问题现象是多种多样的,本篇文章不能穷尽所有的问题和解决方法,还是需要小伙伴们形成独立解决问题的习惯,具体方法如下:
1、仔细查看页面中的错误提示,一般来说错误提示已经提供了详细的说明。
2、利用强大的GPT,来查询对应错误提示的解决方法,例如:
欢迎关注公众号以获得最新的文章和新闻
4人评论了“pytorch安装使用常见问题指南”
诸葛老师,我最近重装pytorch遇到了一个找不到模块的错误, 经过一宿的研究,这个问题大概率是torch版本不兼容造成的,我最开始安装的是2.3.1 版本的torch,降版本到2.2.2之后,就不会再报模块错误的问题了。
好的,收到,有时间我更新到文章里,感谢同步信息。
关于报各种找不到模块的错误,包括“:OSError: [WinError 126] 、OSError: [WinError 127] 的,最直接的原因是因为你用的torch识别不到dll文件造成的,一种情况是你的确少了这种dll文件,另一种情况是你的torch版本过高,导致识别不到这些dll文件(或者visualc++的版本问题,造成你的torch识别不到)。第一种情况,头疼医头脚疼医脚,缺啥补啥,看看少了哪个dll文件去下载然后放到对应目录里面,参考:https://blog.csdn.net/qq_43144781/article/details/139354789?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-1-139354789-blog-131208715.235^v43^pc_blog_bottom_relevance_base6&spm=1001.2101.3001.4242.1&utm_relevant_index=4
第二种情况,一般比较复杂,简单粗暴的方法就是重装,原版本如果重装还是报错,就降一个版本重装。
—-> 1 import torch
E:\ProgramData\Anaconda3\lib\site-packages\torch\__init__.py in
88 for dll_path in dll_paths:
89 if sys.version_info >= (3, 8):
—> 90 os.add_dll_directory(dll_path)
91 elif with_load_library_flags:
92 res = kernel32.AddDllDirectory(dll_path)
E:\ProgramData\Anaconda3\lib\os.py in add_dll_directory(path)
1107 “””
1108 import nt
-> 1109 cookie = nt._add_dll_directory(path)
1110 return _AddedDllDirectory(
1111 path,
OSError: [WinError 127] 找不到指定的程序。: ‘E:\\ProgramData\\Anaconda3\\lib\\site-packages\\torch\\lib’
解决方法:更新 Anaconda:确保你的 Anaconda 环境是最新的,有时候旧版本的 Anaconda 可能会有兼容性问题。