• 【解决】设置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’下

  • 相关阅读:
    【Docker-MyCat】分库分表中间件mycat安装使用(docker版)
    一次 Redis 事务使用不当引发的生产事故
    八皇后问题的解析与实现
    【C++】三大特性之继承
    基于DAP数仓建设过程说明
    区块链溯源相比传统追溯有什么优点?
    栈与队列:设计循环队列
    python NumPy入门篇
    选择振弦采集仪进行岩土工程监测时,根据不同工况选择合适的种类
    场景交互与场景漫游-osgGA库(5)
  • 原文地址:https://blog.csdn.net/vivisol/article/details/133990694