无法在mac上升级tensorflow

jit*_*555 3 python python-3.x tensorflow

我正在运行命令升级tensorflow,但总是低于错误.

Could not find a version that satisfies the requirement tensorflow-gpu (from versions: )
Run Code Online (Sandbox Code Playgroud)

我试过以下命令:

pip3 install --upgrade tensorflow

pip3 install --upgrade tensorflow-gpu
Run Code Online (Sandbox Code Playgroud)

hoe*_*ing 6

我有一个Could not find a version that satisfies the requirement XYZ错误清单:

pip 版本检查

pip你正在使用的python版本是指什么?它是正确的吗?想象一下,你有python3.4python3.5安装以及使用pip3的是被链接到的命令pip3.4,而你认为它被链接到pip3.5.首先问题:

$ pip3 -V | grep -o "(.*)"
Run Code Online (Sandbox Code Playgroud)

并验证是否打印了正确的python版本.如果不是,那么你必须找到正确的pip可执行文件:首先检查你是否有特定于版本的命令(例如

$ which pip3.6
Run Code Online (Sandbox Code Playgroud)

for python3.6)并使用上面的命令验证它是否指向正确的python版本(例如$ pip3.6 -V | grep -o "(.*)").如果没有具体的版本pip,开始寻找在正确的可执行文件sys.prefixbin子目录.我机器上的示例:

$ python3.6 -c "import sys; print(sys.prefix)" | xargs -I {} find {}/bin -name pip*
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3.6
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3
Run Code Online (Sandbox Code Playgroud)

平台检查

您的目标计算机上可能存在平台不匹配.检查识别的平台pip:

$ python3.6 -c "import pip; print(pip.pep425tags.get_platform())"
Run Code Online (Sandbox Code Playgroud)

对于pip10.0以上的新:

$ python3.6 -c "import pip._internal as pip; print(pip.pep425tags.get_platform())"
Run Code Online (Sandbox Code Playgroud)

输出应该是macosx_10_11_x86_64更新的(例如macosx_10_13_x86_64).如果您有较旧的OSX,则必须从源代码构建TensorFlow,因为仅适用于MacOS 10.11及更高版本的预构建软件包.

支持的其他平台是:( manylinux1_x86_64因此所有64位Linux发行版glibc>2.5都应该没问题,没有32位发行版或者像Alpine这样的一些外来发行版musl)和win_amd64(64位Windows).

ABI检查

一个不太常见的问题是ABI不匹配:您可以检查平台的ABI

$ python3.6 -c "import pip; print(pip.pep425tags.get_abi_tag())"
Run Code Online (Sandbox Code Playgroud)

对于pip10.0以上的新:

$ python3.6 -c "import pip._internal as pip; print(pip.pep425tags.get_abi_tag())"
Run Code Online (Sandbox Code Playgroud)

支持的ABI代码目前:cp27m,cp27mu,cp33m,cp34m,cp35m,cp36m.上面的命令应该打印出列出的标签之一.如果没有,您将必须从源代码构建/安装.

最后的笔记

一个罕见的情况可能是配置错误的PyPI索引:运行

$ pip3 install --upgrade tensorflow --verbose
Collecting tensorflow
  2 location(s) to search for versions of tensorflow:
  * https://pypi.python.org/simple/tensorflow/
  * https://my.pypi.server/base/dev/+simple/tensorflow/
...
Run Code Online (Sandbox Code Playgroud)

检查https://pypi.python.org/simple/tensorflow/列表中是否有.如果没有,请尝试该命令

$ pip3 install --upgrade tensorflow --index-url=https://pypi.python.org/simple
Run Code Online (Sandbox Code Playgroud)

如果安装成功,请检查是否PIP_INDEX_URL设置了环境变量并将其清除.如果没有,请检查您是否存在该文件~/.pip/pip.conf以及是否已index-url定义条目.