一般写python的我们经常会import一些常用的库,然后有时集群环境上的python没有这些库,怎么办呢?
通过一段时间的摸索发现有二种方式可以解决这个问题:
第一种方法:
下载对应python的pypi里面库的文件,注意这个要求是wheel后缀或者是zip的,然后上传到python的py文件
对应的目录下面:
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNjkzNjc3LzIwMTcxMC82OTM2NzctMjAxNzEwMTcxODAwNTU0MjctMjEyOTk1MjcwNi5wbmc=.png)
可以看到解压后的文件是上面形式的,在这个文件目录下面import numpy 是没有问题的!!!
这个也是python package支持的一种形式,它会默认把当前路径加入到可执行的路径path,这样的话import就可以找到对应的库文件进行import。
第二种方法:
在第一种方法的基础上,我发现package的path默认是在python的lib的site-packages这个文件夹里面,so 我们可以这样做:
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNjkzNjc3LzIwMTcxMC82OTM2NzctMjAxNzEwMTcxODA0MjQ5NzQtMTEzMjU3MTU4Mi5wbmc=.png)
首先下载这些包:setuptools-36.6.0-py2.py3-none-any.whl
pip-8.1.0.tar.gz
然后把setuptools的文件解压到site-packages目录下:
解压tar -zxvf pip-8.1.0.tar.gz -C /op/
cd pip-8.1.0
python setup.py install
成功安装pip
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNjkzNjc3LzIwMTcxMC82OTM2NzctMjAxNzEwMTcxODA3Mjg3ODctMzI3NjE3MTUzLnBuZw==.png)
然后就可以离线安装一些库了,下载wheel文件之后直接pip install ***.whl
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNjkzNjc3LzIwMTcxMC82OTM2NzctMjAxNzEwMTcxODA4MzcwNTItOTIwMDM2MzI2LnBuZw==.png)
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNjkzNjc3LzIwMTcxMC82OTM2NzctMjAxNzEwMTcxODA4NDc3MjQtOTcwNjY1NjgyLnBuZw==.png)
可以看到可以import sklearn这个python常用的机器学习库了!!!
接下来我们测试一下pyspark可不可以import:
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNjkzNjc3LzIwMTcxMC82OTM2NzctMjAxNzEwMTcxODEwMTUzODEtMTQwODU3OTMwMS5wbmc=.png)
接下来就可以用库在spark上面调用,畅游spark吧。 |