当前位置: 首页 > news >正文

上位机知识篇---Linux中pythonpipapt


文章目录

  • 前言
  • 一、相关文件和目录
    • 1. Python
      • 系统Python路径
        • /usr/bin/python2或/usr/bin/python3
        • /usr/lib/pythonX.Y/
        • /usr/local/lib/pythonX.Y/
      • 用户级Python路径
        • ~/.local/lib/pythonX.Y/site-packages/
    • 2. pip
      • 可执行文件
        • /usr/bin/pip或者/usr/bin/pip
        • 用户级安装路径
      • 配置文件
        • 全局配置
        • 用户配置
        • 缓存目录
    • 3. apt
      • 配置文件
        • /etc/apt/sources.list
        • /etc/apt/sources.list.d/
      • 缓存和状态文件
        • /var/lib/apt/lists/
        • /var/cache/apt/archives/
        • /var/lib/dpkg/status
  • 二、常见操作
    • 1. Python操作
      • 切换Python版本
      • 运行Python脚本
    • 2. pip操作
      • 安装包
      • 卸载包
      • 导出/导入依赖
      • 虚拟环境
    • 3. apt操作
      • 更新软件源
      • 安装软件包
      • 卸载软件包
      • 清理缓存
  • 三、pip 与 apt 安装的区别
  • 四、最佳实践
    • 优先使用系统包(apt)
    • 使用pip的场景
    • 避免混用apt和pip
    • 用户级安装
    • 虚拟环境隔离
  • 五、常见问题
    • 1. 权限问题
    • 2. 版本冲突
    • 3. 清理pip缓存


前言

在Linux系统中,Python、pip 和 apt 是开发和管理工具链的重要组成部分。以下是它们的相关文件、操作及区别的详细说明


一、相关文件和目录

1. Python

系统Python路径

/usr/bin/python2或/usr/bin/python3

/usr/bin/python2/usr/bin/python3系统默认的Python解释器。

/usr/lib/pythonX.Y/

/usr/lib/pythonX.Y/:系统Python的标准库(X.Y为版本号,如3.8)。

/usr/local/lib/pythonX.Y/

/usr/local/lib/pythonX.Y/:用户通过源码编译安装的Python库。

用户级Python路径

~/.local/lib/pythonX.Y/site-packages/

~/.local/lib/pythonX.Y/site-packages/:用户通过pip install --user安装的第三方包

2. pip

可执行文件

/usr/bin/pip或者/usr/bin/pip

/usr/bin/pip 或 /usr/bin/pip3:系统级pip工具

用户级安装路径

用户级安装路径:~/.local/bin/pip(使用–user选项安装)。

配置文件

全局配置

全局配置:/etc/pip.conf

用户配置

用户配置:~/.config/pip/pip.conf

缓存目录

~/.cache/pip/:存储下载的包和临时文件

3. apt

配置文件

/etc/apt/sources.list

/etc/apt/sources.list:软件源列表

/etc/apt/sources.list.d/

/etc/apt/sources.list.d/:第三方源的附加配置文件目录。

缓存和状态文件

/var/lib/apt/lists/

/var/lib/apt/lists/:存储从软件源下载的元数据

/var/cache/apt/archives/

/var/cache/apt/archives/:存储下载的.deb安装包

/var/lib/dpkg/status

/var/lib/dpkg/status:已安装软件包的数据库

二、常见操作

1. Python操作

切换Python版本

sudo update-alternatives --config python3

运行Python脚本

python3 script.py

2. pip操作

安装包

pip install package_name          # 系统级安装(需sudo)
pip install --user package_name   # 用户级安装

卸载包

pip uninstall package_name

导出/导入依赖

pip freeze > requirements.txt     # 导出依赖
pip install -r requirements.txt   # 安装依赖

虚拟环境

python3 -m venv myenv             # 创建虚拟环境
source myenv/bin/activate         # 激活环境

3. apt操作

更新软件源

sudo apt update

安装软件包

sudo apt install python3-pip      # 安装Python包

卸载软件包

sudo apt remove package_name

清理缓存

sudo apt clean                    # 删除所有下载的.deb文件
sudo apt autoclean                # 删除旧版本的.deb文件

三、pip 与 apt 安装的区别

特性 pip apt
包来源 Python Package Index (PyPI) 系统软件源(如Ubuntu/Debian仓库)
包类型 Python专用包(纯Python或二进制轮子) 系统级软件包(包括Python库、工具等)
版本更新 通常提供最新版本 版本较旧(为系统稳定性优化)
依赖管理 自动处理Python依赖赖由系统包管理器处理
安装位置 用户级或虚拟环境(避免污染系统) 全局安装到系统目录
权限要求 用户级无需sudo 必须使用sudo
适用场景 Python项目开发、第三方库 系统工具、底层库(如python3-dev)
冲突风险 可能与系统包冲突 与系统其他组件兼容性更

四、最佳实践

优先使用系统包(apt)

安装系统级工具(如python3-dev, python3-pip)。

确保系统稳定性,避免版本冲突。

使用pip的场景

安装PyPI独有的库(如numpy, requests)。
开发Python项目时,优先在虚拟环境中使用pip。

避免混用apt和pip

  1. 不要通过apt和pip同时安装同一个包(如scipy),可能导致版本混乱。
  2. 若必须混用,优先用apt安装底层依赖(如libjpeg),用pip安装Python绑定。

用户级安装

pip install --user package_name   # 无需sudo,安装到用户目录

虚拟环境隔离

python3 -m venv myproject         # 创建虚拟环境
source myproject/bin/activate     # 激活后使用pip安装

五、常见问题

1. 权限问题

错误:Permission denied 使用pip install未加–user或sudo。
解决:使用–user或在虚拟环境中安装。

2. 版本冲突

错误:apt和pip安装的同一包版本不同
解决:优先卸载冲突包,统一使用一种工具。

3. 清理pip缓存

命令:

pip cache purge

相关文章:

  • 【SpringCloud】Eureka的使用
  • Qt下载模板到本地文件内容丢失问题
  • 软件项目管理课程之第4讲:软件需求管理
  • 重温:时间窗口与滑动步长的概念
  • 【算法】动态规划:子序列问题、回文子串问题、两个数组的dp
  • C++ 变量类型
  • Qt 信号和槽
  • 原型模式为什么可以解决构建复杂对象的资源消耗问题
  • 天洑参展2025全球产业科技创新与投资促进大会
  • dify + deepseek /qwen + win +xinference 等完成知识库建设
  • STM32 IIC通信
  • 从春招“AI热潮”看科技变革中的就业新趋势
  • 学习不同电脑cpu分类及选购指南
  • 【Linux-驱动开发-pinctrl子系统】
  • AI大模型从0到1记录学习 day08
  • Django:构建高性能Web应用
  • 国内GitHub镜像源全解析:加速访问与替代方案指南
  • Spring @EnableAutoConfiguration 注解执行过程详解
  • 卷积神经网络在图像分割中的应用:原理、方法与进展介绍
  • 如何使用 GPT-4o API 实现视觉、文本、图像等功能 附赠gpt升级和4o额度购买
  • 央媒评网红质疑胖东来玉石定价暴利:对碰瓷式维权不能姑息
  • “水运江苏”“航运浙江”,江浙两省为何都在发力内河航运?
  • 沈阳一超市疑借领养名义烹食流浪狗,当地市监局:已收到多起投诉
  • 香港暂停进口美国北达科他州一地区禽肉及禽类产品
  • 《新时代的中国国家安全》白皮书(全文)
  • 火车站员工迟到,致出站门未及时开启乘客被困?铁路部门致歉