Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow

引言: Tensorflow大名鼎鼎,这里不再赘述其为何物。这里讲描述在安装python包的时候碰到的“No matching distribution found for tensorflow”,其原因以及如何解决。

第一种解决方案

简单的安装tensorflow

这里安装的tensorflow的cpu版本,gpu版本可以自行搜索安装指南,或者参考如下指令:


  pip3 install tensorflow     #cpu


这里使用的python 3.6.3版本。


  pip3 install tensorflow-gpu


这里是gpu的版本。

window的环境

window 7.

 

问题描述:


  pip3 install tensorflow


如此简单的指令,应该不会出错吧,结果得到如下错误信息:


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


为什么没有找到tensorflow呢?那我们自行找找看吧?


  pip3 search tensorflow


具体的输出信息如下:


  ………………….. 
  tensorbase (0.3)                             - Minimalistic TensorFlow 
                                                 Framework 
  tensorbayes (0.3.0)                          - Deep Variational Inference in 
                                                 TensorFlow 
  tensorflow-tensorboard (0.4.0rc3)            - TensorBoard lets you watch 
                                                 Tensors Flow 
  tensorboard_logger (0.0.4)                   - Log TensorBoard events without 
                                                 Tensorflow 
  tensorboardX (0.8)                           - TensorBoardX lets you watch 
                                                 Tensors Flow without Tensorflow 
  tensorbuilder (0.3.6)                        - A light wrapper over TensorFlow 
                                                 that enables you to easily 
                                                 create complex deep neural 
                                                 networks using the Builder 
                                                 Pattern through a functional 
                                                 fluent immutable API 
  tensorflow-utils (0.1.0)                     - Classes and methods to make 
                                                 using TensorFlow easier 
  tensorflow-transform (0.4.0)                 - A library for data 
                                                 preprocessing with TensorFlow 
  tensorflow (1.5.0rc0)                        - TensorFlow helps the tensors 
                                                 flow 
  tensorflow_forward_ad (0.3.3)                - TensorFlow forward-mode 
                                                 automatic differentiation 
  tensorflow_hmm (0.4.1)                       - Tensorflow and numpy 
                                                 implementations of the HMM 
                                                 viterbi and forward/backward 
                                                 algorithms 
  tensorflow_nlp (0.0.1)                       - Deep Learning NLP Tasks 
                                                 implemented on Tensorflow 
  tensorflowonspark (1.1.0)                    - Deep learning with TensorFlow 
                                                 on Apache Spark clusters 
  tensorflowservingclient (0.5.1.post2)        - Prebuilt tensorflow serving 
                                                 client 
  tensorforce (0.3.4)                          - Reinforcement learning for 
                                                 TensorFlow 
  tensorfunk (0.0.0)                           - tensorflow model converter to 
                                                 create tensorflow-independent 
                                                 prediction functions. 
  tensorfuse (0.0.1)                           - Common interface for Theano, 
                                                 CGT, and TensorFlow 
  tensorgraph (3.5.8)                          - A high level tensorflow library 
                                                 for building deep learning 
                                                 models 
  tensorhive (0.1.1)                           - Lightweight computing resource 
                                                 management tool for executing 
                                                 distributed TensorFlow programs 
  tensorlm (0.3)                               - TensorFlow wrapper for deep 
                                                 neural text generation on 
                                                 character or word level with 
                                                 RNNs / LSTMs 
  TensorMol (0.1)                              - TensorFlow+Molecules = 
                                                 TensorMol 
  tensorpack (0.8.0)                           - Neural Network Toolbox on 
                                                 TensorFlow 
  tensorpy (1.1.0)                             - Easy Image Classification with 
                                                 TensorFlow! 
  tensorrec (0.1)                              - A TensorFlow recommendation 
                                                 algorithm and framework in 
                                                 Python. 
  tensorspark (1.0.6)                          - Tensorflow on Spark, a scalable 
                                                 system for high-performance 
                                                 machine learning 
  tensorvision (0.1.dev1)                      - A library to build and train 
                                                 neural networks in with 
                                                 TensorFlow for Computer Vision 
  TFANN (1.0.1)                                - A neural network module 
                                                 containing implementations of 
                                                 MLP, and CNN networks in 
                                                 TensorFlow. 
  TFBOYS (0.0.1)                               - TensorFlow BOYS 
  tfcf (0.0.0)                                 - A tensorflow-based recommender 
                                                 system. 
  tfcoreml (0.1.0)                             - Tensorflow to Core ML converter 
  tfdebugger (0.1.1)                           - TensorFlow Debugger 
  tfdeploy (0.4.2)                             - Deploy tensorflow graphs for 
                                                 fast evaluation and export to 
                                                 tensorflow-less environments 
                                                 running numpy. 
  tfgraph (0.2)                                - Python’s Tensorflow Graph 
                                                 Library 
  tfgraphviz (0.0.6)                           - A visualization tool to show a 
                                                 graph like TensorFlow and 
                                                 TensorBoard 
   …………………………………………


悲伤的我如此难以自抑,明明可以找到的,怎么却无法安装嗯?我需要自行好好找找明明是谁? :-)

 

问题分析

二话不说,直接上官网上查查看,虽然官网离我朝远隔万里,需要跋山涉水之后方可达到。翻过拿到看不见的墙之后,重要可以看到官方信息了。 
官方路标如下: https://www.tensorflow.org/install/install_windows 
其中所提安装步骤非常简洁,如此简洁的步骤,怎么可能出错? 于是重新梳理了一下,难道是Python或者pip3本身的问题吗?

check pip3


  pip –version


发现其为最新版本:


  pip 9.0.1 from d:\program files (x86)\python\lib\site-packages (python 3.6)


那Python呢? 官方文档中提到如下:


  If one of the following versions of Python is not installed on your machine, install it now: 
   * Python 3.5.x 64-bit from python.org 
   * Python 3.6.x 64-bit from python.org


难道我安装的python是假python不成? 估计有可能吧,难道是64bit的问题?

 

检查python的版本


  python -v


得到了python的完整信息:

 

..........................................
> D:\Program Files (x86)\python\lib\__pycache__\sysconfig.cpython-36.pyc matches D:\Program Files (x86)\python\lib\sysconfig.py
>  code object from 'D:\\Program Files (x86)\\python\\lib\\__pycache__\\sysconfig.cpython-36.pyc'
import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x006A1230>
> D:\Program Files (x86)\python\lib\__pycache__\_bootlocale.cpython-36.pyc matches D:\Program Files (x86)\python\lib\_bootlocale.py
> code object from 'D:\\Program Files (x86)\\python\\lib\\__pycache__\\_bootlocale.cpython-36.pyc'
import '_locale' #
import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x007911D0>
> D:\Program Files (x86)\python\lib\encodings\__pycache__\gbk.cpython-36.pyc matches D:\Program Files (x86)\python\lib\encodings\gbk.py
> code object from 'D:\\Program Files (x86)\\python\\lib\\encodings\\__pycache__\\gbk.cpython-36.pyc'
import '_codecs_cn' #
import '_multibytecodec' #
import 'encodings.gbk' # <_frozen_importlib_external.SourceFileLoader object at 0x00791490>
import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x004F73D0>
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
import 'atexit' # 1234567891011121314151617

其中关于python的关键信息:


  Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32


“32bit” !!!  一口老血喷出,众里寻他千百度,蓦然回首bug正在这灯火阑珊处。原来是python版本的问题导致的。

 

修复问题

重新下载一个64bit的python版本,之后重新操作就可以了。


  python -v


查看其中的关键信息:


  Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32


确认是64位,没有问题。

然后直接安装tensorflow:


  pip3 install tensorflow


安装过程如下:

 

C:\windows\system32>pip3 install tensorflow
Collecting tensorflow
  Downloading tensorflow-1.4.0-cp36-cp36m-win_amd64.whl (28.3MB)
    100% |████████████████████████████████| 28.3MB 39kB/s
Collecting enum34>=1.1.6 (from tensorflow)
  Downloading enum34-1.1.6-py3-none-any.whl
Requirement already satisfied: wheel>=0.26 in d:\program files (x86)\python\lib\site-packages (from tensorflow)
Collecting protobuf>=3.3.0 (from tensorflow)
  Downloading protobuf-3.5.1-py2.py3-none-any.whl (388kB)
    100% |████████████████████████████████| 389kB 593kB/s
Collecting tensorflow-tensorboard<0.5.0,>=0.4.0rc1 (from tensorflow)
  Downloading tensorflow_tensorboard-0.4.0rc3-py3-none-any.whl (1.7MB)
    100% |████████████████████████████████| 1.7MB 182kB/s
Requirement already satisfied: six>=1.10.0 in d:\program files (x86)\python\lib\site-packages (from tensorflow)
Collecting numpy>=1.12.1 (from tensorflow)
  Downloading numpy-1.13.3-cp36-none-win_amd64.whl (13.1MB)
    100% |████████████████████████████████| 13.1MB 81kB/s
Requirement already satisfied: setuptools in d:\program files (x86)\python\lib\site-packages (from protobuf>=3.3.0->tensorflow)
Collecting html5lib==0.9999999 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
  Downloading html5lib-0.9999999.tar.gz (889kB)
    100% |████████████████████████████████| 890kB 504kB/s
Collecting bleach==1.5.0 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
  Downloading bleach-1.5.0-py2.py3-none-any.whl
Requirement already satisfied: werkzeug>=0.11.10 in d:\program files (x86)\python\lib\site-packages (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
Collecting markdown>=2.6.8 (from tensorflow-tensorboard<0.5.0,>=0.4.0rc1->tensorflow)
  Downloading Markdown-2.6.11-py2.py3-none-any.whl (78kB)
    100% |████████████████████████████████| 81kB 583kB/s
Building wheels for collected packages: html5lib
  Running setup.py bdist_wheel for html5lib ... done
  Stored in directory: C:\Users\chenjunfeng1\AppData\Local\pip\Cache\wheels\6f\85\6c\56b8e1292c6214c4eb73b9dda50f53e8e977bf65989373c962
Successfully built html5lib
Installing collected packages: enum34, protobuf, html5lib, numpy, bleach, markdown, tensorflow-tensorboard, tensorflow
Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.11 numpy-1.13.3 protobuf-3.5.1 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3123456789101112131415161718192021222324252627282930313233

然后大家就可以愉快地写代码了.
 

第二种解决方案

直接使用源路径下载:python -m pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl

 

 

 

Error importing tensorflow. Unless you are using bazel, you should not try to import tensorflow from its source directory; please exit the tensorflow source tree, and relaunch your python interpreter from there.

 

安装方法链接:
官网Download and install
极客学院中文教程

mac 系统OS X EI capitan时遇到一些问题:

1. 采用pip安装,进行到利用pip install tensorflow时报错:

Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 299, in move
    copytree(src, real_dst, symlinks=True)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 208, in copytree
    raise Error, errors
Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py', '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py', "[Errno 1] Operation not permitted: '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc', '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc', "[Errno 1] Operation not permitted: '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', "[Errno 1] Operation not permitted: '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', "[Errno 1] Operation not permitted: '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', "[Errno 1] Operation not permitted: '/tmp/pip-CdODEu-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib'")]

sudo方式同样无效,推测可能是OSX的安全策略导致修改系统目录权限失败?采用VirtualEnv凡是安装

2. 按照官网VirtualEnv方式完成安装后。运行Python,测试是否安装成功时:

 >>> import tensorflow as tf

会报错:

Error importing tensorflow.  Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter
from there.

解决方案参考@raingo 解释,需要先reinstall protobuf后再reinstall Tensorflow:

  - pip install -U protobuf==3.0.0b2
  - pip install --upgrade $TF_BINARY_URL

注意由于是VirtualEnv安装方式,需要先启动VirtualEnv。

 

 

你可能感兴趣的:(深度学习)