在 Python 中,所有通过 pip 安装的包都会被放到某个 “site-packages” 目录下,这个目录位于 Python 的安装路径或虚拟环境目录里。下面是几种常见环境下的安装路径及查找、修改方法。


1. 常见的 pip 包安装路径

  1. 系统全局安装(Linux/macOS)

    • 路径通常形如:

      /usr/local/lib/python<版本>/dist-packages
      /usr/lib/python<版本>/site-packages
      
    • 例如,Python 3.9 可能在:

      /usr/local/lib/python3.9/dist-packages
      
  2. 系统全局安装(Windows)

    • 路径通常在:

      C:\Users\<用户名>\AppData\Local\Programs\Python\Python<版本>\Lib\site-packages
      
    • 也可能在 Python 安装目录下的 Lib\site-packages

  3. 虚拟环境(venv/virtualenv)

    • 如果你在某个项目目录下执行了:

      python -m venv .venv
      source .venv/bin/activate  # (Linux/macOS)
      .venv\Scripts\activate     # (Windows)
      pip install 包名
    • 那么包会安装在:

      <项目目录>/.venv/lib/python<版本>/site-packages
      

      或者 Windows 下的

      <项目目录>\.venv\Lib\site-packages
      
  4. 查看某个包的实际安装位置
    可以用:

    pip show 包名

    输出里会有一行 Location: /…/site-packages,指明这个包所在的目录。


2. 修改已安装库的代码

不建议 直接在 site-packages 里生搬修改,因为每次升级或重装都会丢失改动。推荐的做法是“开发模式(editable install)”或直接克隆源码来维护:

方法 A:使用 “开发模式” 安装

  1. 克隆官方仓库(或你想改的那个版本)

    git clone https://github.com/xxx/your-package.git
    cd your-package
  2. 在源码目录下启用开发模式安装

    pip install --editable .

    这样,Python 在导入该包时会直接引用你这个源码目录里的文件。

  3. 修改源码
    直接在本地 your-package/…/*.py 文件里改动,保存后立即生效,无需再次 pip install

方法 B:直接编辑 site-packages(临时反馈)

  1. 定位到包所在目录:

    pip show 包名
    # 读取 Location,然后打开 .../site-packages/包名 目录
  2. 打开对应的 .py 文件,修改后保存。

  3. 重启你的 Python 程序或服务(尤其是 web 服务),让改动生效。

⚠️ 缺点:下次 pip install --upgrade 包名 或清空环境并重装时,你的修改会被覆盖。

方法 C:Fork + 发布私有版本

  1. 在 GitHub(或其它平台)Fork 官方仓库。

  2. 在你的 Fork 上做修改并打 tag(例如 v1.2.3-myfix)。

  3. 在项目中引用你的版本:

    pip install git+https://github.com/你/your-package.git@v1.2.3-myfix

    或者在 requirements.txt 写:

    git+https://github.com/你/your-package.git@v1.2.3-myfix#egg=your-package
    

小结

这样,你就可以既知道库装在哪里,又能以最合适的方式去修改它的源码了。