• 【解决】设置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, 如下图所示:
    在这里插入图片描述
    修改完后,再运行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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    此时,再使用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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如下图所示:
    在这里插入图片描述

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

  • 相关阅读:
    MySQL 常用函数
    三维能力是ArcGIS Pro 同时也可以进行服务发布
    【云原生 | 从零开始学Kubernetes】二十四、kubernetes控制器Daemonset
    书生·浦语大模型第二期实战营(6)笔记
    MMCV学习——基础篇2(Runner)| 九千字:含示例代码教程
    0038__一文看懂NB-IOT/Lora/Zigbee三大技术的组网方式
    Kubernetes面试整理-Kubernetes的主要组件有哪些?
    C++多线程编程:其六、unique_lock的使用
    Android基础-内存泄漏
    数据仓库介绍及应用场景
  • 原文地址:https://blog.csdn.net/vivisol/article/details/133990694