【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下

【解决】设置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_siteuser_base这两个变量值为conda下的路径,按照这种方法尝试没有任何效果,即使修改了site.py文件,当在终端输入python -m site时,显示的user-siteuser-base依然是在C盘下,使用pip尝试安装依赖包,也是安装到C盘。

正确的解决方法

正确的解决方法是,在系统变量里,设置PYTHONUSERBASE系统变量,使其值为D:\ProgramData\miniconda3, 如下图所示:
【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下_第1张图片
修改完后,再运行python -m site查看user_baseuser_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"文件夹,右键-》属性-》安全:
【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下_第2张图片
将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

如下图所示:
【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下_第3张图片

这样在使用conda创建虚拟环境时,就会创建在路径’D:\ProgramData\miniconda3\envs’下

你可能感兴趣的:(pip,conda,python)