如何修改pip全局缓存位置和全局安装包存放路径

news2024/12/26 10:18:16

使用场景:

在默认情况下,pip 会将安装的包存放在 Python 环境的 site-packages 目录下,会使用到系统盘的内存。
当遇到系统盘的内存很小的时候,需要修改pip的全局缓存位置和全局安装包存放路径,可以极大的节省系统盘内存

详细步骤:


1. 修改 pip 的全局缓存位置

pip 会默认将下载的文件存放在缓存目录中(如 Linux 的 ~/.cache/pip,Windows 的 %LOCALAPPDATA%\pip\Cache),如果你需要更改这个目录,可以通过设置环境变量 PIP_CACHE_DIR 实现。

在命令行中临时设置

例如,将缓存文件存放到 /my/custom/cache

  • Linux/macOS:
    export PIP_CACHE_DIR=/my/custom/cache
    
  • Windows(CMD 命令行):
    set PIP_CACHE_DIR=C:\my\custom\cache
    
  • Windows(PowerShell):
    $env:PIP_CACHE_DIR="C:\my\custom\cache"
    
全局设置

将上述环境变量添加到系统的环境变量中,以便在每次使用时都生效:

  • Linux/macOS:
    编辑 ~/.bashrc~/.zshrc 文件,添加:

    export PIP_CACHE_DIR=/my/custom/cache
    

    然后运行 source ~/.bashrcsource ~/.zshrc 使配置生效。

  • Windows:

    1. Win + R,键入 sysdm.cpl 并点击 确定
    2. 进入 高级 标签,点击 环境变量
    3. 在系统变量或用户变量中,点击 新建,键入:
      • 变量名: PIP_CACHE_DIR
      • 变量值: C:\my\custom\cache
    4. 点击 确认 并重启终端。

2. 修改 pip 的全局安装目标位置

如果你希望更改全局的安装目标位置(即 site-packages 的存放目录),可以通过以下方法实现。

方法 1: 使用 --target 参数

这种方法是在每次安装时,手动指定目标位置。例如:

pip install <package-name> --target /my/custom/location

但是这样需要每次都手动指定,比较麻烦。

方法 2: 修改 pip 配置文件

pip 提供了一个配置文件,允许全局或用户级别的修改。可以通过编辑配置文件,设置安装目标位置。

  • Linux/macOS:
    修改或创建 $HOME/.pip/pip.conf 文件,内容如下:
    [global]
    target = /my/custom/location
    
  • Windows:
    修改或创建 %APPDATA%\pip\pip.ini 文件,内容如下:
    [global]
    target = C:\my\custom\location
    
方法 3: 配置环境变量

与上述全局缓存目录类似,你也可以通过 PYTHONUSERBASE 或配置 PIP_TARGET 环境变量来更改默认的安装位置:

  • 临时改动:

    • Linux/macOS:
      export PIP_TARGET=/my/custom/location
      
    • Windows(CMD 命令行):
      set PIP_TARGET=C:\my\custom\location
      
    • Windows(PowerShell):
      $env:PIP_TARGET="C:\my\custom\location"
      
  • 全局生效:
    按照上述方法,将 PIP_TARGET 的值写入到环境变量中。


3. 查询当前的 pip 缓存和配置路径

你可以运行以下命令查看当前的 pip 缓存路径和默认配置路径:

pip cache dir
pip config list

这些命令会显示 pip 的当前缓存目录和配置内容,以便确认是否生效。


4. 修改 pip 的其他配置项

pip 提供了多种方式来修改默认行为,你可以通过以下方式编辑全局或本地配置:

全局配置文件路径
  • Linux/macOS: /etc/pip.conf
  • Windows: %PROGRAMDATA%\pip\pip.ini
用户级配置文件路径
  • Linux/macOS: $HOME/.pip/pip.conf
  • Windows: %APPDATA%\pip\pip.ini
编辑配置文件

在配置文件中,添加类似的配置项:

[global]
cache-dir = /my/custom/cache
target = /my/custom/location

这样可以修改 pip 的默认行为,包括缓存位置和安装路径等。


通过以上方法,你可以灵活调整 pip 的缓存位置和安装目标位置。如果安装遇到权限问题,可以使用 --user 选项或更改 Python 环境的安装位置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2265784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】机器学习的基本分类-半监督学习(Semi-supervised Learning)

半监督学习是一种介于监督学习和无监督学习之间的机器学习方法。它利用少量的标注数据&#xff08;有监督数据&#xff09;和大量的未标注数据&#xff08;无监督数据&#xff09;来进行模型训练&#xff0c;从而在标注数据不足的情况下&#xff0c;提升模型的性能。 半监督学习…

大模型讲师叶梓分享前沿论文:ChatDoctor——基于大模型的医疗聊天机器人

人工智能咨询培训老师叶梓 转载标明出处 人工智能讲师培训咨询老师叶梓分享前沿技术&#xff1a;基于大模型的医疗聊天机器人 大模型在医疗领域的应用仍相对有限&#xff0c;通用领域模型在提供医疗建议时常常出现错误。为了解决这一问题&#xff0c;Li等人提出了一个名为ChatD…

GitLab 停止中国区用户访问,为用户提供60天的迁移期

近日&#xff0c;全球知名的代码托管平台 GitLab 宣布了一个重大变化&#xff1a;将停止为中国大陆、香港及澳门地区的用户提供访问服务&#xff0c;建议用户访问授权国内的产品极狐 GitLab.cn。 极狐 GitLab.cn 是 GitLab 授权的独立中国公司&#xff0c;之前该公司还发生过举…

H3C MPLS跨域optionB

实验拓扑 实验需求 如图,VPN1 和 VPN2 分别通过运营商 MPLS VPN 连接各自分支机构按照图示配置 IP 地址,VPN1 和 VPN2 连接同一个 PE 设备的私网 IP 网段存在地址复用,使用多 VRF 技术来防止 IP 冲突AS 100 和 AS 200 内部的公共网络中各自运行 OSPF 使 AS 内各设备的 Loo…

Flink SQL Cookbook on Zeppelin 部署使用

简介&#xff1a;对于初学者来说&#xff0c;学习 Flink 可能不是一件容易的事情。看文档是一种学习&#xff0c;更重要的是实践起来。但对于一个初学者来说要把一个 Flink SQL 跑起来还真不容易&#xff0c;要搭各种环境&#xff0c;真心累。很幸运的是&#xff0c;Flink 生态…

6、mysql的MHA故障切换

MHA的含义 MHA&#xff1a;master high availability&#xff0c;建立在主从复制基础上的故障切换的软件系统。 主从复制的单点问题&#xff1a; 当主从复制当中&#xff0c;主服务器发生故障&#xff0c;会自动切换到一台从服务器&#xff0c;然后把从服务器升格成主&…

基于单片机的智能递口罩机器人设计

本设计是一款智能递口罩机器人&#xff0c;主控器采用STM32单片机&#xff0c;ESP32协同控制&#xff0c;在支持MicroPython的OpenMV机器视觉模块的控制下&#xff0c;实现人脸搜索与识别&#xff0c;进而控制小车的运动及机械臂递口罩动作。这款机器人拥有温湿度传感器&#x…

实训项目-人力资源管理系统-1Company子模块

目录 前言&#xff1a; 用例图设计&#xff1a; 系统设计 开发方式&#xff1a; 技术架构 系统结构&#xff1a; API文档&#xff1a; 工程搭建&#xff1a; 搭建父项目 pom&#xff1a; 创建公共子模块&#xff1a; 返回实体&#xff1a; 分布式id生成器&#xff1a; …

前端bug调试

报错和Bug&#xff0c;是贯穿程序员整个编程生涯中&#xff0c;无法回避的问题。而调试&#xff0c;就是帮助程序员定位问题、解决问题的重要手段&#xff0c;因此&#xff0c;调试是每个程序员必备技能。 调试基本流程 核心原则&#xff1a;最重要的就是不断地缩小范围&…

【落羽的落羽 C语言篇】自定义类型——联合体、枚举

文章目录 一、联合体1. 联合体类型的声明2. 联合体的特点3. 联合体的大小4. 联合体和结构体的对比 二、枚举1. 枚举类型的声明2. 枚举类型的优点 一、联合体 1. 联合体类型的声明 联合体像结构体一样&#xff0c;也是由一个或多个成员构成&#xff0c;这些成员可以是不同的类…

大数据技术-Hadoop(二)HDFS的介绍与使用

目录 1、HDFS简介 1.1 什么是HDFS 1.2 HDFS的优点 1.3、HDFS的架构 1.3.1、 NameNode 1.3.2、 NameNode的职责 1.3.3、DataNode 1.3.4、 DataNode的职责 1.3.5、Secondary NameNode 1.3.6、Secondary NameNode的职责 2、HDFS的工作原理 2.1、文件存储 2.2 、数据写…

学习threejs,THREE.CircleGeometry 二维平面圆形几何体

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.CircleGeometry 圆形…

替换 Docker.io 的 Harbor 安全部署指南:域名与 IP 双支持的镜像管理解决方案

经过验证 替换 Docker.io 的方式失败了, 以下的过程中还是需要设置 registry-mirrors 才行 以下是一篇详细教程&#xff0c;展示如何基于 openssl.conf 配置生成域名为 registry-1.docker.io 和 IP 地址为 172.16.20.20 的证书&#xff0c;构建 Harbor 服务。 环境准备 系统环境…

【源码编译】windows下mingw64安装以及cmake调用

最近因为安装MIRTK库&#xff0c;太多第三方依赖了&#xff0c;太折磨了&#xff0c;学习了使用Cmake&#xff0c;有些库又需要Fortran编译器&#xff0c;VS2022里面装了但又调用不了&#xff0c;也不知道为什么&#xff0c;最后装的mingw64&#xff0c;记录一下。 1、mingw64安…

【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111

文章目录 一、算法概念111二、算法原理&#xff08;一&#xff09;感知机&#xff08;二&#xff09;多层感知机1、隐藏层2、激活函数sigma函数tanh函数ReLU函数 3、反向传播算法 三、算法优缺点&#xff08;一&#xff09;优点&#xff08;二&#xff09;缺点 四、MLP分类任务…

基于AI IDE 打造快速化的游戏LUA脚本的生成系统

前面写了一篇关于使用AI IDE进行C安全开发的博客《使用AI IDE 助力 C 高性能安全开发&#xff01;》&#xff0c; 得到许多同学们的喜欢&#xff0c;今天我们来继续在游戏开发中扩展一下AI的能力&#xff0c;看看能不能给游戏研发团队一些启发。 在游戏研发中&#xff0c;Lua曾…

系统思考VS过度管理

业绩没起来&#xff0c;领导者最容易做的就是抓管理。这样的“抓管理”真的有效吗&#xff1f;当业务还没起飞的时候&#xff0c;过度管理其实是一种伤害。就像一条呼啸而过的鞭子&#xff0c;看起来让团队更“整齐”&#xff0c;但实际上可能打散了协作的节奏。管理的本质是支…

IT运维的365天--021 服务器上的dns设置后不起作用

之前在内网搭建了一个和外网同域名的网站&#xff0c;开发同事今天告诉我&#xff0c;程序调试发现可能服务器不能正常访问自己内网的网站内容。于是&#xff0c;今天的故事开始了。 前面的文章在下面列出&#xff0c;当然不看也问题不大&#xff0c;今天的主题是&#xff1a;…

机器人C++开源库The Robotics Library (RL)使用手册(二)

由于RL库采用跨平台CMake源码,可以轻松在win、ubantu等平台部署、编译,win通常用VS编译器,为了便于使用、阅读,需要将CMake编译成VS工程。 1、准备三个工具:CMake、VS、QT 为了在Windows上编译RL和依赖项,您需要安装一个编译器(例如。,Visual Studio 2017)和跨平台构…

ShaderJoy ——一种可交互的翻页效果【GLSL】

效果视频 Shader 特效——可与鼠标交互的翻页效果 效果图 完整代码 #define pi 3.14159265359 #define radius .1#iChannel0 "file://./images/Woolly_3.png" #iChannel1 "file://./images/Woolly_4.png"void mainImage( out vec4 fragColor, in vec2 fra…