出现这些问题,很多时候是因为,忘记了机器上有两个Python环境。
默认环境是py2,而自己的工作环境是py3。
比如Linux上默认有py2.7,自己又安装了py3.5。比如Windows上,安装了py2,也安装了py3。
命令行直接输入python、pip等使用的是默认是py2,应该切换到py3的bin目录。
再使用./pip 等形式来运行。
一、pip无法安装tensorflow
其实就应该用anaconda prompt窗口运行pip命令,就能避免这个问题。
1、pip安装
通常我们用下面这种方式安装一个库
C:\Users\Administrator>pip install tensorflowCollecting tensorflow Could not find a version that satisfies the requirement tensorflow (from versions: )No matching distribution found for tensorflow
2、但是报错 No matching version
于是想到去网站上自己下载一个whl文件,再本地安装。
或者
可选的文件就这有两个,于是选择了cp36的版本。
3、本地安装
PS D:\ML> pip install .\tensorflow-1.7.0-cp36-cp36m-win_amd64.whltensorflow-1.7.0-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.
但是也报错,版本不匹配。于是搜索了下这个错误信息。
参考这篇文章:
这个文件是amd64平台的版本,显然我的电脑不是。
4、在谷歌里面搜索tensorflow-1.7.0-cp36-cp36m-win32.whl
找到了win32版本
下载之。
5、再次本地安装
D:\>pip install tensorflow-1.7.0-cp36-cp36m-win32.whltensorflow-1.7.0-cp36-cp36m-win32.whl is not a supported wheel on this platform.
还是报错,再换一种方式。
6、用anaconda导航界面安装
测试
D:\>pythonPython 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32>>> import tensorflow as tfD:\ProgramData\Anaconda3\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters>>> w = tf.Variable([[0.5,1.0]])>>> x = tf.Variable([[2.0],[1.0]])>>> y = tf.matmul(w,x)>>> y>>>
如果用pycharm,要选择对应的环境
上面的tensorflow装在anaconda的py3.6环境。
7、总结
上面为什么出现pip命令无法安装tensorflow呢?
本地安装了原生的Python2.7,也安装了anaconda3.6。
因为直接用pip命令,电脑默认是调用Python2.7的pip命令。要切换到anaconda目录下,使用py3.6的pip命令(tensorflow只有py3的)。
D:\ProgramData\Anaconda3\Scripts> pip install jieba
优先用命令行pip安装,因为使用方便。
有的包在anaconda导航里搜索不到,但是用pip可以安装(比如jieba)。
二、安装pyspark
用pip install pyspark
命令,在Windows上安装成功,但是在linux上,每次都是到99%失败。 (在Windows上用anaconda安装pyspark,老是安装不成功。)
1.提示信息
linux上报错信息
[root@txy bin]# pip install pyspark ## 【错误】如果直接用pip,调用的是系统默认的py2,而我的工作环境是py3。Collecting pyspark Downloading https://files.pythonhosted.org/packages/ee/2f/709df6e8dc00624689aa0a11c7a4c06061a7d00037e370584b9f011df44c/pyspark-2.3.1.tar.gz (211.9MB) 99% |████████████████████████████████| 211.9MB 57.2MB/s eta 0:00:01Killed
Windows上的安装过程提示
(base) C:\Users\Administrator>pip install pysparkCollecting pyspark Downloading https://files.pythonhosted.org/packages/ee/2f/709df6e8dc00624689aa0a11c7a4c06061a7d00037e370584b9f011df44c/pyspark-2.3.1.tar.gz (211.9MB) 100% |████████████████████████████████| 211.9MB 57kB/sCollecting py4j==0.10.7 (from pyspark) Downloading https://files.pythonhosted.org/packages/e3/53/c737818eb9a7dc32a7cd4f1396e787bd94200c3997c72c1dbe028587bd76/py4j-0.10.7-py2.py3-none-any.whl (197kB) 100% |████████████████████████████████| 204kB 1.1MB/sBuilding wheels for collected packages: pysparkSuccessfully installed py4j-0.10.7 pyspark-2.3.1
2.linux下安装pyspark
linux出现到99%失败的原因未知,不过我应该使用如下的安装命令。
[root@txy bin]# cd /root/anaconda3/bin[root@txy bin]# ./pip install pyspark
3.spark的pyspark
下载Apache spark,解压配置好PATH后,也可以使用pyspark
,要注意环境是py2还是py3。