三个方法,

一、最方便最稳定最好的方法是在Anoconda Navigator 这个图形化界面里进行配置

打开

依次点击下面这个

开始创建

下面几个选项分别是

已经安装的

没有安装的

可以更新的

已经删除的

所有的

然后去pycharm里选到把这些新创建的环境下的python.exe这个解释器添加进去,就成功让程序在这个环境里运行了

先点圆圈里的内容,然后那两个随便点一个

点那个Add local Interpreter,

点这个Exisiting(已存在),把这个环境下的python解释器(python.exe)加进去,就成功让这个文件夹里的代码在这个环境里运行

如图,

这里因为我们缺 pytorch(虽然这里是torch,但我们其实要导入的是pytorch) 和torchvision 两个包,

点开那个NOT Installed,搜索torch

把这两个选上

点击Apply,开始安装

还缺一个 tensorboard

下过来,类似的还有其他包如matplotlib那些

然后畅通无阻

二、是在Anoconda 的命令行里配置

也就是这个

进去

这里的意思是已经进入conda的基(base)环境了,就是这个

在anoconda 命令行环境中操作anoconda的常用指令参考下面

(48条消息) Anaconda Prompt使用简介:安装python等包、创建删除环境等_明月醉窗台_明月醉窗台的博客-CSDN博客

检查Anaconda版本和已经创建的环境

检查目前有哪些版本的python可以安装

创建环境

出现新窗口

创建成功

本来Anoconda创建的环境是默认在它的evs下面的,

但也可能放在C盘里面,如果是这种情况那么

(48条消息) 解决新创建的anaconda环境在C:\Users\xxx\.conda\envs\,而不在anaconda安装目录下的envs中_anaconda创建的虚拟环境存储在哪_半岛铁子_的博客-CSDN博客

注意除了这个evs文件夹权限要改,它的父文件夹Anoconda也要改。

激活虚拟环境并查看包

安装包

下载页面很乱,忘了截图了,下好了

在安装了若干包后

成功运行

三、是Pycharm里自带的配置环境功能

核心就是你选好位置和要装的东西,然后点确定,它pycharm帮你把这些东西都下好。

下面是详解:

进入pycharm可以发现箭头指向的地方是No interpreter,也就是说没有指定解释器

点击它就会有

点这个键就会有

再点这个Add Local Interpreter按钮,进入下面这个:

这里的Environment默认选中了这个New按钮

在这种情况下是要创建一个新的环境,

这个Location的意思是这个环境是建立在哪里,也就是说构成这个环境的各种函数包和文件放在哪

你必须先找到地方,然后创建一个文件夹,名字就是环境名,来放它后面要下的各种包

我这里是torch1

(注意,这里的环境不能建立在Anocaonda 的环境下面,我这里就犯了这个错,

因为Anoconda 下管理的环境(evs)是不准其他程序动的,

所以Pycharm是无权访问这个torch1文件夹的,

下面就是失败的全过程。)

如果你创建这个文件夹之前就打开了Add Local Interpreter这个按钮

那么要退出Add Local Interpreter,再进去才会刷新出你创建的这个文件夹,

然后选中它

这个base interpretert 的意思是,你要选择一个基解释器,也就是最基本的也是最重要的python解释器,并选择这个python解释器的版本,毕竟这是用python写的嘛,一切基于它运行

这个选项里的内容就是说,你选择一个python解释器的版本,后面是它去哪里给你下这个版本的python的地址。

如果你自己电脑里本来就有python解释器,想直接用自己电脑里的这个,不想再下一个,

就可以点这三个点,然后找到你自己的python解释器的地址就行了

我们这里让它给我再下一个

点ok之后pycharm就开始为你找到相应的包和文件开始往你指定的文件夹(torch1)里面导,

来构造这个环境

安装失败

只要把环境(torch1)独立出anoconda之外就行了

我放在了这里

只要把上面的torch地址改了重复上面的过程就可以

如下,确实是有点慢的

环境创建完成后,是没有torch 和torchvision 这两个包的,我们需要再导入

可以通过这个按钮

或者这个按钮

找到下面的内容

点那个加号,输入torch 可以找到它,

点击即可添加进torch包

退出这个页面可以看到

pytorch导入成功,这个torch的红色波浪线没了

同样的导入torchvision

补上这两个包后,程序就畅通无阻了,

但是在运行predict.py的时候出现了这个问题

给出的解释是这样的

OMP:错误#15:初始化libiomp5md.dll,但发现libiomp5md.dll已经初始化。
OMP:提示这意味着OpenMP运行时的多个副本已经链接到程序中。这是危险的,因为它会降低性能或导致不正确的结果。最好的做法是确保只有一个OpenMP运行时链接到进程中,例如避免在任何库中静态链接OpenMP运行时。作为一种不安全、不受支持、无文档记录的解决方案,您可以设置环境变量KMP_DUPLICATE_LIB_OK=TRUE,以允许程序继续执行,但这可能会导致崩溃或悄悄地产生不正确的结果。

参考Chat GPT的回答

也就是说,我这里的本质原因是因为一开始创建这个torch1环境的时候没有勾选这个Inherit global site-packages,这就导致我不能继承全局Python安装中的第三方库或模块,所以就在torch1里下了一个。

通过

where python

来查看我的全局的安装,找到我的全局python安装路径

就是这个

可以看见这里有两个libiomp5md.dll,但这两个是通过anoconda创建的,有保护机制,所以这两个不会冲突

而去torch1里面搜也有一个

这是因为一开始没勾选那个键,所以系统认为要单独再下一个libiomp5md.dll,

但是在运行的时候,全局python安装路径里的libiomp5md.dll还是会参与的,也就是anoconda里的那两个libiomp5md.dll,谁排前面就用哪个

这样,anoconda里的libiomp5md.dll就和torch1里的libiomp5md.dll冲突了

所以解决方法是,反正anoconda里的libiomp5md.dll对全局都可见,那就把torch1里的libiomp5md.dll删了就行

参考下面

问题解决,但出了新问题

也就是说我那行代码的用法在3.6版本以后换用法了,我这里的matplotlib是3.7版的,以后这个用法可能会被移除,所以提醒我一下

我换个3.52版的

可以看到问题解决了

注意事项

如果出现文件夹解析错误,首先要考虑是不是文件夹或者用户名是中文,如果是那一定要改成英文。

常用功能,勾选这个然后通过修改Size就能改变工具栏大小

找到这个选项,勾选这个就能通过Crtl + 鼠标滚轮来控制代码的大小

不勾选这个这个图就可以可以自由拖动

勾选上之后图就固定在右边的工具栏里了