Flask 在命令提示符下导入torch时出现问题,但它直接在VS code/Jupyter中工作

Flask 在命令提示符下导入torch时出现问题,但它直接在VS code/Jupyter中工作,flask,anaconda,pytorch,command-prompt,Flask,Anaconda,Pytorch,Command Prompt,我正在Windows 10上尝试在命令提示符下运行flask应用程序。每当我尝试运行它时,它都会在尝试导入torch时出错。我已经创建了一个全新的环境,并从此页面安装了最新的pytorch,但它仍然无法在命令提示符下工作。奇怪的是,如果我只是执行jupyter笔记本或VS代码中写着“import torch”的代码,它不会出错。它只在命令提示符中显示错误 有人知道问题可能是什么吗?简短回答:如果可能,使用Anaconda提示符。可从“开始”菜单>水蟒>水蟒提示符访问 详细回答:问题是由于PATH

我正在Windows 10上尝试在命令提示符下运行flask应用程序。每当我尝试运行它时,它都会在尝试导入torch时出错。我已经创建了一个全新的环境,并从此页面安装了最新的pytorch,但它仍然无法在命令提示符下工作。奇怪的是,如果我只是执行jupyter笔记本或VS代码中写着“import torch”的代码,它不会出错。它只在命令提示符中显示错误


有人知道问题可能是什么吗?

简短回答:如果可能,使用Anaconda提示符。可从“开始”菜单>水蟒>水蟒提示符访问

详细回答:问题是由于
PATH
变量中不同Python安装的顺序造成的,您可以通过
echo%PATH%
看到这一点。首先是系统Python,这可以通过
哪个Python
看到

建议使用Anaconda提示符,因为它正确地设置了包含所有必需Anaconda路径的
PATH
变量。更重要的是,它避免了干扰。因此,您的命令提示符不会因使用Anaconda而产生任何意外后果

如果有需要使用常规命令提示符的原因,可以使用
set PATH=C:\Anaconda\;%更改顺序PATH%
(此命令提示符的临时命令)或
setx PATH=C:\Anaconda\;%路径%
()。可能还需要包括其他LIB,您可以通过在Anaconda提示符处打印
PATH
变量来检查这些LIB


另一个选项(Win10):开始菜单>键入“环境”>单击“编辑系统环境变量”。单击高级>环境变量。。。双击
Path
并更改系统Python和Anaconda Python之间的顺序

我怀疑您的命令提示符可能指向另一个不同于Anaconda的Python安装。python的输出是什么?作为在cmd中使用Anaconda的快速解决方法,请打开“开始”菜单并键入Anaconda提示符。在我的安装中,
其中python
在Anaconda提示符中显示了两条路径,一条用于Conda(第一条),另一条用于系统的python。常规命令提示符只显示系统的Python,所以我的Anaconda提示符确实显示了这两条路径,但我的命令提示符也显示了这两条路径(如果这有什么区别的话,只是顺序不同)。这看起来会引起问题吗?如果系统Python放在您的
路径的第一位
,它将被调用,而不是Anaconda。如果更改
路径
变量中的顺序,命令提示符将调用最先出现的顺序。尝试在两个终端中打印
echo%PATH%
,以查看差异。最简单的解决方案是只使用Anaconda提示符,因为它已经修复了
路径
(如果没有理由使用它)。另外,建议使用Anaconda提示符。检查这是否是解决方案的快速解决方法是
set PATH=C:\Anaconda3\;%路径%
,假设它安装在'C:\Anaconda3'中。