一、相关问题及解决
问题一:安装anaconda到非系统盘,在创建新环境并下载包的时候,发现仍有文件存储在系统盘
问题分析
可能是因为conda、pip命令的使用,其中有一个存储在了系统盘
相关实验证明
①经过启动anaconda promote进去test环境,使用conda在不同路径下下载tensorflow以及tensorflow-gpu,发现系统盘的剩余容量不变,即conda命令,不会把文件存在系统盘
②直接打开anconda promote进入test环境(没有切换到该环境路径),使用pip命令下载numpy包,在C:\Users\PBC\AppData\Local\pip这个路径下,发现有缓存,即pip命令下载,缓存在系统盘
conda 安装包路径是 xxxxx\Anaconda3\pkgs pip 安装包路径在虚拟环境下是 xxxx\Anaconda3\envs\a_conda_env\Lib\site-packages
③卸载刚刚下载numpy,通过路径可以发现,如图所示
即pip会先在缓存里面寻找包,没有就下载并缓存,再在环境中安装,安装成功后会生成对应包文件夹
④使用conda卸载pip下载的numpy,结果如下:
即conda不能卸载pip安装的package
⑤conda和pip下载的区别:
pip下载:
conda下载:
(也有可能是因为事先pip安装了numpy,因此pip卸载numpy先)
卸载后conda安装numpy,与上图一致。
即pip和conda下载安装时,两者是独立的(至少pip安装后,conda任然可以下载相同的packages)。从下载中还可以看出,conda下载会把需要依赖包一起下载,而pip不是(至少在下载numpy上是这样)
解决方法:修改pip的cache的路径,以避免缓存在系统盘,见问题五
总结:
conda命令,不会把文件存在系统盘,conda不能卸载pip安装的package;
pip命令下载的包缓存在系统盘,在C:\Users\PBC\AppData\Local\pip这个路径下;
conda 安装包路径是 xxxxx\Anaconda3\pkgs,pip 安装包路径在虚拟环境下是 xxxx\Anaconda3\envs\a_conda_env\Lib\site-packages;
pip会先在缓存里面寻找包,没有就下载并缓存,再在环境中安装,安装成功后会生成对应包文件夹;
pip和conda下载安装时,两者是独立的(至少pip安装后,conda任然可以下载相同的packages)。从下载中还可以看出,conda下载会把需要依赖包一起下载,而pip不是(至少在下载numpy上是这样);
问题二、pip下载与安装,在系统cmd与anaconda promote中,具体存在什么位置?
参考
查看存储路径: https://blog.csdn.net/mukvintt/article/details/80908951
实验证明
①win+R打开cmd,输入python -m site查看安装路径
正常来说应该是存在的,但是我找到这个路径并删除了
②pip install numpy
这里显示是anaconda\lib\site-package,所以应该是使用了anaconda自带的python中的pip
③pip uninstall numpy
通过路径可以看出,是anaconda自带的python中的pip
④python
可以看出,启用的是anaconda中的base中的python,并不是自己独自安装的python。原因是安装anaconda时,构造了添加path to system 的下面那个选项,即
所以怎么启用系统安装的python呢?见问题三
⑤使用系统安装的python中的pip,进行观察
可以看到,numpy安装成功,此时去安装目录查看
此时我们卸载查看pip uninstall numpy
从路径可以看出,是安装在了系统的python下的lib\site-packages
⑥再看下他的缓存,初始化环境,图如下:
再次安装numpy,安装后查看缓存路径的文件,结果如下:
可以看到,缓存路径在这里。
结论:
pip缓存位置:不管哪个环境中的pip install,缓存路径都是这一个,即 C:\Users\PBC\AppData\Local\pip
pip安装位置: 使用哪个环境的pip install,安装的package就在对应的Lib\site-packages中
回看①,再一次输入命令
这两个路径依旧不存在,但是anaconda不受影响,系统的python也不受影响,以后出现了且文件很大时,再做讨论。
问题三、在安装了anaconda且在系统cmd启动python时,显示使用的是anaconda的python,怎么启用系统安装的python呢
前提
系统安装的python环境变量配置没问题,安装anaconda勾选了添加到系统变量那页。
原因
cmd中启用python,电脑会按顺序在环境变量path中依次查找python.exe。
因此一个可能就是,自己系统装的那个python的环境变量,在anaconda的下面,被截胡了,调整顺序后,可以在cmd中启动系统python
问题四、由于很多程序配置都在这里,所以C:\Users\PBC\AppData\这个路径的文件都干嘛的《==待解决==》
参考
C:\Users\用户名\AppData\Roaming里面的文件可以删除吗?https://blog.csdn.net/robinsone/article/details/44673181
关于Windows 10 C:/Users/用户名/AppData里面的文件:https://blog.csdn.net/lxh19930428/article/details/53742079?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
问题五、windows下,pip全局换源和换缓存路径
解决办法
1、C:\Users\PBC目录下创建pip文件夹
2、C:\Users\PBC\pip目录下创建文件pip.ini
3、打开pip.ini文件,写入以下内容并保存:
[global] index-url = https://pypi.mirrors.ustc.edu.cn/simple/ cache-dir = D:\Program_ML\AppData\pip\cache
问题六、jupyter notebook使用(配置)conda环境
解决办法
方法一(失败) 在虚拟环境安装一个jupyter notebook,大概150.8M。安装命令:conda install jupyter
接着命令行卸载,并在nav中安装,可以启动,但不能运行,内核错误,结果报错
pip install pypiwin32后启动,一样内核错误
方法二(失败) 使用anaconda navigator 操作,选择环境然后安装,在pip安装且tf为2.1,tf-gpu为2.1的情况下,失败。
方法三(成功) 可以在C:\Users\PBC\AppData\Roaming\jupyter\中的\kernels\test中发现kernel.json文件(环境:python=3.5.5,tensorflow=2.1,tensorflow-gpu=2.1)
问题七、conda命令删除环境后,在env文件夹仍有残留
解决办法:
-
直接删除对应文件夹
-
删除出现“程序正在运行”提示:
-
打开任务管理器
-
点击“性能”,点击页面最下处“打开资源监视器”,点击cpu,点击句柄搜索
-
输入需删除的文件(夹)路径
-