当我尝试在 Ubuntu 16.04 上使用 pip3 安装 tensorflow 包时收到以下错误消息:
目录“/home/federico/.cache/pip/http”或其父目录不属于当前用户,并且缓存已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。 目录“/home/federico/.cache/pip”或其父目录不属于当前用户,并且缓存轮已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。 tensorflow-0.7.1-cp34-none-linux_x86_64.whl 不是该平台支持的轮子。
我该如何解决这个问题?
答案1
问题是 Ubuntu 16 使用 Python3.5,但 Tensorflow 只为 Python 3.4 提供了一个 wheel(在“tensorflow-0.7.1-cp34-none-linux_x86_64.whl”中用“cp34”表示)。幸运的是,Wheel 实际上与 Python 3.5 兼容,因此您不需要从源代码进行编译。
您需要下载轮子,重命名以防止 python 3.4 检查失败,然后通过将重命名的文件传递给 pip 进行安装。
对于当前版本的 Tensorflow(对于未来的版本,请检查网站以获取最新版本,并在必要时调整下面的命令)运行:
wget https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
mv tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl tensorflow-0.8.0-cp35-none-linux_x86_64.whl
pip install tensorflow-0.8.0-cp35-none-linux_x86_64.whl
答案2
对于 python2,请使用 pip --- 对于 python3,请使用 pip3 -- 建议使用sudo
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.10.0-cp35-cp35m-linux_x86_64.whl