我正在尝试使用pip安装TensorFlow:

$ pip install tensorflow --user
Collecting tensorflow
Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow

我做错了什么?到目前为止,我使用Python和pip没有任何问题。


当前回答

2.0兼容方案:

在终端(Linux/MacOS)或命令提示符(Windows)中执行以下命令,使用Pip安装Tensorflow 2.0:

#Install tensorflow using pip virtual env 
pip install virtualenv
virtualenv tf_2.0.0   # tf_2.0.0 is virtual env name
source tf_2.0.0/bin/activate
#You should see tf_2.0.0 Env now. Execute the below steps
pip install tensorflow==2.0.0
python
>>import tensorflow as tf
>>tf.__version__
2.0.0

在终端(Linux/MacOS)或命令提示符(Windows)中执行以下命令,使用Bazel安装Tensorflow 2.0:

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow

#The repo defaults to the master development branch. You can also checkout a release branch to build:
git checkout r2.0

#Configure the Build => Use the Below line for Windows Machine
python ./configure.py 

#Configure the Build => Use the Below line for Linux/MacOS Machine
./configure
#This script prompts you for the location of TensorFlow dependencies and asks for additional build configuration options. 

#Build Tensorflow package

#CPU support
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package 

#GPU support
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package

其他回答

这个问题有很多种答案。这个答案旨在概括一组答案:

可能没有一个TensorFlow版本与你的Python版本兼容。如果您使用的是Python的新版本,这一点尤其正确。例如,在Python的新版本发布和该版本的Python的TensorFlow发布之间可能会有延迟。

在这种情况下,我相信你的选择是:

升级或降级到不同版本的Python。(虚拟环境很好,例如conda install python=3.6) 选择与你的python版本兼容的特定版本的tensorflow,例如,如果你仍在使用python3.4: pip install tensorflow==2.0 从源代码编译TensorFlow。 等待一个与你的Python版本兼容的TensorFlow的新版本。

我发现了问题所在。

我使用的是一台Windows电脑,之前已经安装了Python 2。 安装Python 3后(没有设置路径,我成功检查了pip3的版本-但Python可执行文件仍然指向Python2)

然后我将路径设置为python3可执行文件(删除所有python2路径),然后启动一个新的命令提示符,尝试重新安装Tensorflow。它的工作原理!

我认为这个问题也可能发生在MAC OS上,因为MAC系统上有一个默认的python。

如果你最近遇到了这个问题(比如,在2018年Python 3.7发布之后),这很可能是由于tensorflow方面缺乏Python 3.7支持造成的。如果您不介意,可以尝试使用Python 3.6。你可以从https://github.com/tensorflow/tensorflow/issues/20444上找到一些技巧,但使用它们的风险由你自己承担。我使用了harpone建议的方法——首先下载Python 3.6的tensorflow wheel,然后手动重命名它……

cp tensorflow-1.11.0-cp36-cp36m-linux_x86_64.whl tensorflow-1.11.0-cp37-cp37m-linux_x86_64.whl
pip install tensorflow-1.11.0-cp37-cp37m-linux_x86_64.whl

好消息是,已经有了3.7支持的pull请求。希望能尽快发布。

我发现TensorFlow 1.12.0只适用于Python 3.5.2版本。我用的是Python 3.7,但它不起作用。所以,我不得不降级Python,然后我可以安装TensorFlow让它工作。

将python版本从3.7降级到3.6

conda install python=3.6.8

来自tensorflow网站:“你需要pip 8.1或更高版本才能运行以下命令”。运行这个命令来升级你的pip,然后尝试再次安装tensorflow:

pip install --upgrade pip