一、前言
经常使用Python的小伙伴,不知道有没有发现,自己通过pip install xxx
安装的包一部分在安装路径中一部分在C:\Users\<用户名>\AppData\Roaming\Python
中。
一开始想要自定义安装就是为了不想放到C盘,结果倒好,扩展包还是给安装到C盘去……
该问题可能会导致两个路径下都有同一个名字的包的风险,到时候调用包时傻傻的分不清,我之前就有过相关的经历,想要升级pandas,Anaconda本身已经有一个pandas,重新下载的给整到C盘去,两边都有一个pandas,调用接口的时候,愣是分不清,明明缺的东西已经补上,就是跑不出来,让人十分抓狂……
为了从一开始就杜绝这些的风险出现,建议改一下安装第三方包的安装路径,方法很简单,修改两个参数即可,下面跟着我一起来看看吧~
二、基本介绍
先说明下我的基本配置情况:
Anaconda安装路径:D:\anaconda3
Anaconda安装的第三方库包路径:D:\anaconda3\Lib\site-packages
Anaconda的Python版本:Python 3.9
计算机用户名:55414
注:如果安装的不是Anaconda,而是Python,原理也大同小异,把Anaconda看做Python处理即可。
可以打开命令行(快捷方式是按下win+R,然后弹窗输入cmd,回车)查看默认安装第三方库包的路径,命令行下输入以下命令:
python -m site
注:由于我还没有在该路径下安装过第三方库包,所以这两个路径后面带有【(doesn’t exist)】字样。
由上图,可以看到,默认安装第三方库包的路径是
C:\Users\55414\AppData\Roaming\Python\Python39\site-packages
显然,和我Anaconda的库包不再同一路径下,需要把这个路径改掉。
修改该路径是在一个site.py
的配置文件中,路径为D:\anaconda3\Lib\site.py
,在Anaconda安装目录下的lib
文件夹中,这里通常放着已安装好的Python第三方库。
打开site.py
配置文件会发现内容很多,可以通过打开查找(ctrl+F
)工具,输入【USER_SITE = None
】搜索定位。
接下来,把上面两个路径修改为Anaconda的安装路径,保存即可。
USER_SITE = "D:\\anaconda3\\Lib\\site-packages"
USER_BASE = "D:\\anaconda3\\Scripts"
注意:要用\\
以免受到转义的影响。
再通过命令行输入一遍python -m site
,可以看到已经修改过来了。
💡几个问题
1️⃣设置好之后,在哪里可以看到安装的第三方库?
在安装目录下的..\Lib\site-packages
文件夹中,如我的目录D:\anaconda3\Lib\site-packages
。
2️⃣之前安装在默认路径的库包怎么办?
好办,直接将默认路径下的site-packages
中的包移动到Anaconda下的Lib\site-packages
即可,不过需要注意,必须保证没有重复安装,如果两边都有同一个包,需要先删除一个,再移动,或者两个都不要了,重新装一遍。
3️⃣关于--user
命令的问题
之后安装命令不要再加上--user
命令,避免一些奇怪的现象,讲一个我的例子,之前安装twine,一开始使用pip install --user twine
进行安装,然后在安装目录下……\Scripts
下生成了一个文件夹,最终把twine.exe
存放在……\Scripts\Python39\Scripts
目录下,卸载之后,使用pip install twine
进行安装,twine.exe
才正常存放在……\Scripts
目录下。
三、小结
指定通过pip
安装第三方库的安装位置,可以修改安装目录下的..\Lib\site.py
文件中的两个参数USER_SITE
和USER_BASE
,Python和Anaconda都一样。