【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下
问题描述
在win11下安装miniconda,在conda环境里使用pip安装,依赖包总是安装到C盘路径,如
C:\Users\Jimmy\AppData\Local\Programs\Python\Python311\Lib\site-packages
但是通常,我们不希望安装在这个路径,因为会导致C盘空间被各种依赖包占满,我们希望将依赖包安装到miniconda的路径下。
尝试了各种方法,均没有效果。按照网上流传最广的一种解决方法,是需要修改conda下的site.py
文件里的user_site
和user_base
这两个变量值为conda下的路径,按照这种方法尝试没有任何效果,即使修改了site.py
文件,当在终端输入python -m site
时,显示的user-site
和user-base
依然是在C盘下,使用pip尝试安装依赖包,也是安装到C盘。
正确的解决方法
正确的解决方法是,在系统变量里,设置PYTHONUSERBASE
系统变量,使其值为D:\ProgramData\miniconda3
, 如下图所示:
修改完后,再运行python -m site
查看user_base
和user_site
,会发现都调整到conda路径下了:
PS C:\Users\Arkee> python -m site
sys.path = [
'C:\\Users\\Jimmy',
'D:\\ProgramData\\miniconda3\\python311.zip',
'D:\\ProgramData\\miniconda3\\DLLs',
'D:\\ProgramData\\miniconda3\\Lib',
'D:\\ProgramData\\miniconda3',
'D:\\ProgramData\\miniconda3\\Python311\\site-packages',
'D:\\ProgramData\\miniconda3\\Lib\\site-packages',
]
USER_BASE: 'D:\\ProgramData\\miniconda3' (exists)
USER_SITE: 'D:\\ProgramData\\miniconda3\\Python311\\site-packages' (exists)
ENABLE_USER_SITE: True
此时,再使用pip安装时,会提示对于安装路径没有读写权限,需要设置用户对路径的操作权限
选择"D:\ProgramData\miniconda3"
文件夹,右键-》属性-》安全:
将USERS的用户权限设置为“完全控制”,之后就可以正常安装啦。
其他建议
在安装miniconda后,最好将下面的几个路径添加到环境变量里:
D:\ProgramData\miniconda3
D:\ProgramData\miniconda3\Scripts
D:\ProgramData\miniconda3\envs
D:\ProgramData\miniconda3\Lib\site-packages
D:\ProgramData\miniconda3\Python311\site-packages
D:\ProgramData\miniconda3\Python311\Scripts
D:\ProgramData\miniconda3\Tools\scripts
如下图所示:
这样在使用conda创建虚拟环境时,就会创建在路径’D:\ProgramData\miniconda3\envs’下