You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu18.04虚拟机安装torch==1.1.0 CPU版遇numpy依赖问题求助

解决torch==1.1.0无GPU版本安装的依赖问题及源码编译指南

一、解决pip安装时的"No matching distribution found for numpy"问题

你遇到的核心矛盾是:你的numpy装在用户本地site-packages/home/name/.local/lib/python3.6/site-packages),但用全局的/usr/bin/python3.6 -m pip安装torch时,pip的依赖检查逻辑默认优先扫描全局site-packages路径,没找到numpy所以报错;而Python控制台能正常导入numpy,是因为Python会自动搜索用户本地的site-packages目录,两者的路径识别逻辑不一样。

先验证:用--no-dependencies安装的torch是否可用

先别急着重装,先确认现有安装是否能正常工作:

/usr/bin/python3.6 -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果输出1.1.0False,说明torch的核心功能已经正常了——毕竟你在Windows上用同版本numpy搭配torch1.1.0成功过,版本兼容性是没问题的。

彻底解决pip依赖识别问题的三种方案

  1. --user参数安装torch
    让pip优先搜索用户本地的site-packages路径,直接执行:
/usr/bin/python3.6 -m pip install --user /path/to/your/torch-1.1.0-cp36-cp36m-linux_x86_64.whl

这样pip会自动识别到你已安装的本地numpy,不会再抛出依赖错误。

  1. 临时添加用户site-packages到PYTHONPATH
    先设置环境变量,让pip能找到本地numpy:
export PYTHONPATH="/home/name/.local/lib/python3.6/site-packages:$PYTHONPATH"
/usr/bin/python3.6 -m pip install /path/to/your/torch-1.1.0-cp36-cp36m-linux_x86_64.whl
  1. 将numpy安装到全局site-packages
    如果不介意全局安装,用sudo把numpy装到全局路径:
sudo /usr/bin/python3.6 -m pip install numpy==1.15.4

之后再运行torch的安装命令就不会有依赖问题了。


二、无GPU环境下从源码编译PyTorch 1.1.0

之前你尝试源码编译失败,是因为没正确设置无CUDA的编译参数,按照以下步骤操作即可:

1. 安装编译依赖

先确保系统有足够的编译工具和依赖包:

sudo apt-get update
sudo apt-get install build-essential cmake git libssl-dev libffi-dev python3-dev
# 安装torch编译所需的Python依赖
sudo /usr/bin/python3.6 -m pip install numpy==1.15.4 pyyaml setuptools cffi typing_extensions

2. 克隆并切换到PyTorch 1.1.0源码

git clone https://github.com/pytorch/pytorch.git
cd pytorch
# 切换到1.1.0的tag版本
git checkout tags/v1.1.0
# 初始化并更新所有子模块(这一步很重要,别漏了)
git submodule update --init --recursive

3. 设置无CUDA的编译环境变量

导出以下变量告诉编译脚本不需要CUDA支持:

export NO_CUDA=1
export PYTHON=/usr/bin/python3.6
# 如果不需要分布式训练功能,可以加这个变量加快编译
export NO_DISTRIBUTED=1

4. 编译并安装

# 开始编译(这一步可能需要几十分钟,取决于你的虚拟机性能)
python setup.py build
# 安装编译好的torch
sudo python setup.py install
# 或者如果想装到用户本地,用:python setup.py install --user

5. 验证编译结果

运行以下命令确认安装成功:

/usr/bin/python3.6 -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果输出1.1.0False,说明无GPU版本的torch编译安装成功了。


内容的提问来源于stack exchange,提问作者Tacocat

火山引擎 最新活动