前言:
为了服务外包项目的数据分析,我准备用python连接mysql,hive,hdfs。在这中间遇到各种问题,但好在都顺利解决了,唯独下载连接hive是需要的sasl时,真的搞心态,今日写下第一篇博客,来记录这几个小时的弯路。
连接hive需要的包有sasl、thrift、thrift_sasl、pyhive,其他三个都可以用pip解决,但sasl就会疯狂报错。
弯路一:
上网查阅了n多资料后,说有可能是pip的版本问题。于是我去修改pip版本。
在pycharm中:文件-->设置-->python解释器
在这里面可以看见一个列表,里面就是你安装的软件包,双击pip,选择指定版本即可。
改了之后等一会,他要下载你指定版本的安装包。
搞完之后满怀希望的去pip install sasl(好吧白忙活)
弯路二:
去官网下载sasl https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl
下载后再运行pip install 文件名
这里需要注意下载的要和环境适配,一个查看自己电脑支持版本的方法:在cmd中运行
pip debug --verbose
这样你就得到了你适配的版本,但是苦逼的是,我这三十九个支持,没有一个支持官网给我的版本的,我试着下载了几个,都不行。会显示
翻译过来好像是这个平台不支持这个轮子
弯路三:
我看到我没有一个支持的版本,我就想是不是我python版本的原因,于是我就想给我python降到一个稳定的版本。
pip list
这个命令可以查看你装的所有软件包以及版本
pip list --outdated
这个命令可以查看过时的版本
$ pip install --user --upgrade python
这个可以将python升到最高级
可是我是要降级
pip install --user python ==3.8
按照资料查阅的我应该这么写,可是不知道为什么就报错说找不到python3.8
弯路四:
通过conda命令来下载就可以解决 ,可是
后来查阅资料,conda是包含在anaconda中的,于是我pip install anaconda --成功。
可还是显示‘‘conda不是内部或外部命令’’
再后来,说要配环境变量,我就要找pip的默认安装路径在哪啊(这里是最搞的,真的是众说纷纭,我找到了三个目标,都是一个名字)
C:\Users\X\AppData\Local\Programs\Python\Python311\Lib\site-packages
最后找到是在上面这个路径里
我发现每一个包都有一个主包文件夹以及一个信息说明包文件夹,而我的ananonda只有说明文件夹。
后来发现一个简单方法,把同一个包下载两次,第二次他会给你讲这个(目标)文件夹下已经有这个包了。
弯路五:
我在anaconda官网下载了这个anaconda,其实就是一个python进阶版,里面包含一个python,以及一些工具以及下包的conda
下载好后,打开conda闪退,我注意到可能是没有配置环境变量的原因,然后去配环境变量,也不知道为什么配不成功。(已经配过很多次的)
后来直接cmd进入到他的文件夹运行。
最后:
终于下载好了sasl,还不知道能不能用,心力憔悴,明天再看吧。