一、报错信息
在 PyCharm 中的 Python 项目中 , 使用了 PyTorch 库 , 提示
代码语言:javascript复制No module named 'torch'
这里直接点击错误提示下的 " Install package torch " 选项 ,
执行后 , 弹出如下报错信息 :
报错信息 :
代码语言:javascript复制Try to run this command from the system terminal.
Make sure that you use the correct version of 'pip' installed
for your Python interpreter located at
详细报错信息如下 :
stream data = self.read(amt=amt, decode_content=decode_content) File “D: 01_Develop 22_PythonPython39libsite-packagespip_vendorurllib3response.py”, line 541, in read raise IncompleteRead(self._fp_bytes_read, self.length_remaining) File “D: 01_Develop 22_PythonPython39libcontextlib.py”, line 137, in exit self.gen.throw(typ, value, traceback) File “D: 01_Develop 22_PythonPython39libsite-packagespip_vendorurllib3response.py”, line 443, in _error_catcher raise ReadTimeoutError(self._pool, None, “Read timed out.”) pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out. WARNING: You are using pip version 21.2.3; however, version 24.2 is available. You should consider upgrading via the ‘D: 01_Develop 22_PythonPython39python.exe -m pip install --upgrade pip’ command.
上述错误提示中 , 提示执行
代码语言:javascript复制D: 01_Develop 22_PythonPython39python.exe -m pip install --upgrade pip
命令 , 可以解决该问题 , 但是执行 上述命令 , 也是报相同的错误 , pip 命令就是不能执行 ;
二、问题分析
之前在 命令行 中使用了 pip install torch
命令 , 安装了 PyTorch 库 , 安装成功 , 输出内容如下 :
在 PyCharm 中 , 选择
在 Settings 窗口中的 Python Interpreter 选项卡中 , 查看当前使用的 编译器版本是 3.9 ;
在 cmd 中 , 执行
代码语言:javascript复制pip --version
命令 , 查看当前的 pip 版本号 , 输出内容如下 :
代码语言:javascript复制C:Usersoctop>pip --version
pip 20.1.1 from d: 01_develop 22_pythonpython37_64libsite-packagespip (python 3.7)
在 Windows 环境变量中配置的 Python 版本是 3.7 版本的 , 使用的 pip 工具也是 3.7 版本的 , 出现了冲突 ;
PyCharm 中使用的 Python 版本是 3.9 版本的 , 这里出现了冲突 , 导致软件包安装错误 ;
不同的 Python 版本 对应的 软件包 版本也是不同的 ;
把我电脑上的 Path 环境变量 拉出来 , 吓一跳 ,
代码语言:javascript复制%JAVA_HOME%bin;%JAVA_HOME%jrebin;C:WindowsSystem32;%SystemRoot%system32;C:Program FilesPlasticSCM5server;C:Program FilesPlasticSCM5client;D: 01_Develop 22_PythonPython37_64Scripts;D: 01_Develop 22_PythonPython37_64;D: 01_Develop 22_PythonPython27;D: 01_Develop 22_PythonPython310Scripts;D: 01_Develop 22_PythonPython310;D: 01_Develop 22_PythonPython39Scripts;D: 01_Develop 22_PythonPython39;D: 01_Develop 22_PythonPython38Scripts;D: 01_Develop 22_PythonPython38;D: 01_Develop 22_PythonPython36Scripts;D: 01_Develop 22_PythonPython36;C:ProgramDataOracleJavajavapath;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;%SYSTEMROOT%System32OpenSSH;C:Program FilesJavajdk1.8.0_91bin;D: 01_Develop 01_SDKSdkplatform-tools;C:Strawberrycbin;C:Strawberryperlsitebin;C:Strawberryperlbin;D: 01_Develop 10_Flutterflutter_windows_2.2.3-stableflutterbin;%ANDROID_HOME%emulator;%ANDROID_HOME%platform-tools;%ANDROID_HOME%tools;D: 01_Develop 01_SDKSdkbuild-tools30.0.3;D: 01_Develop 20_TDM-GCC-64bin;C:Program FilesMicrosoft SQL Server110ToolsBinn;C:Program Files (x86)Microsoft SDKsTypeScript1.0;C:Program FilesMicrosoft SQL Server120ToolsBinn;D: 01_Develop 07_GitGitcmd;D: 01_Develop 35_Groovyapache-groovy-sdk-3.0.9groovy-3.0.9bin;C:Program Files (x86)Common FilesPropellerhead SoftwareReWire;C:Program FilesCommon FilesPropellerhead SoftwareReWire;D: 01_Develop 37_MatlabMATLABR2017aruntimewin64;D: 01_Develop 37_MatlabMATLABR2017abin;E:Program Files7-Zip;C:Program Filesdotnet;D:Program FilesRedis;C:Program Files (x86)Microsoft SQL Server160DTSBinn;C:Program FilesAzure Data Studiobin;%HADOOP_HOME%bin;%HADOOP_HOME%sbin;%USERPROFILE%.dnxbin;C:Program FilesMicrosoft DNXDnvm;D: 01_Develop 53_HuaweiSdkhmscore3.1.0toolchains;D: 01_Develop 53_Huaweinodejsnodejs-16.20.1
配置的 Python 相关的 环境变量如下 :
代码语言:javascript复制D: 01_Develop 22_PythonPython37_64Scripts;D: 01_Develop 22_PythonPython37_64;D: 01_Develop 22_PythonPython27;D: 01_Develop 22_PythonPython310Scripts;D: 01_Develop 22_PythonPython310;D: 01_Develop 22_PythonPython39Scripts;D: 01_Develop 22_PythonPython39;D: 01_Develop 22_PythonPython38Scripts;D: 01_Develop 22_PythonPython38;D: 01_Develop 22_PythonPython36Scripts;D: 01_Develop 22_PythonPython36;
按行分割 ;
代码语言:javascript复制D: 01_Develop 22_PythonPython37_64Scripts;
D: 01_Develop 22_PythonPython37_64;
D: 01_Develop 22_PythonPython27;
D: 01_Develop 22_PythonPython310Scripts;
D: 01_Develop 22_PythonPython310;
D: 01_Develop 22_PythonPython39Scripts;
D: 01_Develop 22_PythonPython39;
D: 01_Develop 22_PythonPython38Scripts;
D: 01_Develop 22_PythonPython38;
D: 01_Develop 22_PythonPython36Scripts;
D: 01_Develop 22_PythonPython36;
环境变量装太多了 , 第一个 Python 环境变量是 3.7 的 , 默认先试用这个环境变量 ;
将 3.9 的环境变量提到最前面 , 或者将 PyCharm 中的 Python 编译器版本改为 3.7 , 都可以解决上述问题 ;
三、解决方案
1、解决方案一 修改环境变量 ( 不推荐 | 没有解决问题 )
PyCharm 中使用的是 3.9 的环境变量 ,
将
代码语言:javascript复制D: 01_Develop 22_PythonPython39Scripts;D: 01_Develop 22_PythonPython39;
环境变量 , 提升到 Path 环境变量的最前面 ;
可解决上述问题 ;
修改后 , 重启一个新的命令提示符 , 执行
代码语言:javascript复制pip --version
命令 , 可以看到 当前使用的是 Python 3.9 的 pip 工具 ;
代码语言:javascript复制C:Usersoctop>pip --version
pip 21.2.3 from D: 01_Develop 22_PythonPython39libsite-packagespip (python 3.9)
在命令行中 , 还是报相同的错误 , 没有解决问题 ;
2、解决方案二 修改 PyCharm 中使用的 编译器版本 ( 推荐 | 成功解决问题 )
在 Python 编译器 选项中的下拉菜单中没有看到 3.7 选项 , 这里需要先进行配置 ;
在 下面的对话框中 , 点击 按钮 , 添加 Python 编译器 ;
选择配置 Virtualenv Environment , 然后选择 3.7 版本的编译器 ;
编辑完后 , 点击 OK 回到 之前界面 , 显示已经编辑的 编译器版本 3.7 ;
回到主界面 , 就可以在下拉菜单中配置 3.7 版本的编译器 ;
此时显示 PyTorch 软件包安装成功 ;