如果想在虚拟环境中使用外部环境的 torch,而不继承其他系统包,可以使用以下方法:

方法 1:使用 PYTHONPATH 指定 torch 路径(推荐)

  1. 查找 torch 安装路径(在全局环境运行):

    python -c "import torch; print(torch.__path__)"
    

    例如,它可能返回:

    ['/usr/local/lib/python3.10/dist-packages/torch']
    
  2. 激活你的虚拟环境

    source myenv/bin/activate  # Linux/macOS
    myenv\Scripts\activate     # Windows
    
  3. 设置 PYTHONPATH 让虚拟环境找到 torch

    export PYTHONPATH=/usr/local/lib/python3.10/dist-packages:$PYTHONPATH
    

    Windows (PowerShell)

    $env:PYTHONPATH="C:\Users\xxx\AppData\Local\Programs\Python\Python310\Lib\site-packages;$env:PYTHONPATH"
    
  4. 验证 torch 是否可用

    python -c "import torch; print(torch.__version__)"
    
  5. (可选) 将 PYTHONPATH 添加到 ~/.bashrc~/.zshrc 以永久生效

    echo 'export PYTHONPATH=/usr/local/lib/python3.10/dist-packages:$PYTHONPATH' >> ~/.bashrc
    source ~/.bashrc
    

方法 2:手动软链接 torch(适用于 venv

如果你不想修改 PYTHONPATH,可以创建一个软链接

  1. 查找 torch 位置(在全局环境运行):

    python -c "import torch; print(torch.__path__[0])"
    

    例如:

    /usr/local/lib/python3.10/dist-packages/torch
    
  2. 找到你的虚拟环境 site-packages 目录

    ls myenv/lib/python3.10/site-packages/
    
  3. 创建 torch 软链接

    ln -s /usr/local/lib/python3.10/dist-packages/torch myenv/lib/python3.10/site-packages/
    
  4. 验证 torch 是否可用

    python -c "import torch; print(torch.__version__)"
    
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐