pycharm terminal 执行 pip install【坑】

在pycharm terminal执行pip install之前,一定要看清楚当前的环境对不对!!可以通过pip list看一下包,从而判断当前环境到底是不是你以为的那个环境。

只要是环境未知(比如no interpreter)或者不匹配(比如改名、删除过项目本地的venv或者改了项目路径),都会一律默认下载到anaconda base!!!

光看pycharm里的界面显示是看不出来的,它表面上显示对的,但其实上却是base!!!


坑记录:1)原虚拟环境叫venv2,我把venv2重命名为venv,结果pycharm terminal里依然显示(venv2)而不是(venv)。虽然pycharm interpreter配置的是改名后的venv,File-settings打开来也是venv,但terminal会显示(venv2)。
因为venv2文件夹被我改名成了venv,但其它配置文件(详见下述)里还有“venv2”,我没改,我只改了文件夹的名字,这就造成了不匹配。我对(venv2)进行pip install,发现base被改变,而venv没变化。

2)我移动了项目的位置,移完之后pycharm terminal里正常显示(venv),File-settings打开来也是venv,venv文件夹旁边也有"library root"的字样,结果,pip list,发现还是base环境,并不是venv环境…


原因是:最初创建venv的时候,Scripts/activate等文件里已经把最初的路径写死了,后续对其进行修改的话,虽然改完之后程序运行正常,pycharm setting等界面显示的也确实是新环境,但是!其实是有bug的:

本来给虚拟环境安装包有两种方法:(1)用cmd或terminal路径的方式进行pip install包;(2)在pycharm setting那里加。而对于上述情况,要添加包的时候,只能用方式(2),不能用方式(1)!因为此时虚拟环境路径其实是不匹配的,不匹配(找不到原本的环境了)的情况下默认就是下载到anaconda base,所以用方式(1)会默认下载到base而不是新环境。

解决方案:把Scripts/activate等文件里的所有相关路径、名称都修改了才行,仅修改interpreter的路径配置是不行的。但是最初的路径也写入pip.exe等二进制文件了所以没法直接改,方法如下:Python 虚拟环境迁移路径后pip报错解决记录_python路径改变后cmd pip报错_chenz1hao的博客-CSDN博客上述链接里的“进入到虚拟环境中”具体做法是:在cmd在venv\Scripts下输入activate.bat,激活虚拟环境,激活之后cmd路径最前面会有一个“(venv)”,这样就表示进入到虚拟环境中了。

按上述解决方案改完之后,方式(1)pip install就正常对应新环境,而非base了。

如果发现下错环境了,把base污染了,可以通过回滚的方式撤回:让你的 conda “回滚”到以前版本的环境_BioIT爱好者的博客-CSDN博客
我在cmd输入回滚命令,按下回车之后可能等好久都没有反应,也不敢关闭重来,怕整个出错了,幸好,再等等就有了。

猜你喜欢

转载自blog.csdn.net/m0_52848925/article/details/130877697