日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

win10下安装pyspark及碰到的问题

發(fā)布時(shí)間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10下安装pyspark及碰到的问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 前言
  • 安裝過(guò)程
    • Q1
  • 總結(jié):

前言

最近由于工作需要,需要了解下pyspark,所以就在win10環(huán)境下裝了下,然后在pycharm中使用的時(shí)候碰到了一些問(wèn)題。整個(gè)過(guò)程可謂是一波三折。下面一一道來(lái)。

安裝過(guò)程

安裝過(guò)程就不詳細(xì)說(shuō)了,網(wǎng)上一搜一大堆,這里寫下自己參考的博文:
https://blog.csdn.net/w417950004/article/details/77203501

安裝好之后如何在pycharm中使用?
網(wǎng)上有文章說(shuō)要在對(duì)應(yīng)的文件中配置相關(guān)的spark_home地址等。
詳情參考:https://www.cnblogs.com/hello-yz/p/9306099.html
其實(shí)沒(méi)必要,因?yàn)槲覀冊(cè)诎凑丈厦娌┪陌惭bpyspark的過(guò)程中聲明了相關(guān)的變量為全局變量,所以完全沒(méi)必要在pycharm的文件中重復(fù)聲明,相反這樣做可能會(huì)帶來(lái)一些負(fù)面效果。這時(shí)候,只需要將pyspark的代碼放入pycharm中運(yùn)行即可。但是中間會(huì)遇到一些問(wèn)題下面一一來(lái)解答。

Q1

在pycharm中執(zhí)行pyspark腳本報(bào)錯(cuò):TypeError: namedtuple() missing 3 required keyword-only arguments: 'rename’

原因:pyspark和python版本不兼容。
解決辦法:
參考:https://blog.csdn.net/u010916338/article/details/106108266

但是博主按照上面的解決方案降低python版本到3.5之后,問(wèn)題依舊存在。
事情的過(guò)程:
背景:
博主之前就裝的有python3.7版本的anaconda。所以為了不影響之前的3.7環(huán)境,選擇了通過(guò)利用conda建虛擬環(huán)境的方法來(lái)新建3.5的虛擬環(huán)境,然后將pycharm的解釋器更換為3.5的虛擬環(huán)境,來(lái)運(yùn)行pyspark代碼。but,問(wèn)題依舊存在。(PS:很郁悶,不是說(shuō)好的是版本的兼容的問(wèn)題,我按照方案降了版本,為什么還是報(bào)上面的錯(cuò)誤)無(wú)奈,以為是解決方案的問(wèn)題,遂又google,baidu了一番。發(fā)現(xiàn)這個(gè)錯(cuò)位的原因就是spark和python版本兼容的問(wèn)題,解決方案沒(méi)問(wèn)題。那到底是哪的原因呢?
為了解決心中的疑惑,博主走上了實(shí)驗(yàn)之路,先是在windows命令行以命令的形式利用python3.5解釋器去運(yùn)行腳本如: " ######\envs\python35 ######\pyspark_demo.py" ,依舊報(bào)上面的版本不兼容的錯(cuò)誤。接下來(lái)在命令行,通過(guò)"activate py35"指令開(kāi)啟python3.5虛擬環(huán)境,然后執(zhí)行“python ######\pyspark_demo.py”指令,運(yùn)行pyspark程序竟然跑通了。。。一臉問(wèn)號(hào),這是為什么呢?為什么只有進(jìn)入虛擬環(huán)境運(yùn)行腳本才能跑通,在外部通過(guò)虛擬環(huán)境指令運(yùn)行腳本就跑不通呢?
后面分析可能是spark包在被調(diào)用的時(shí)候,引用的系統(tǒng)默認(rèn)的python環(huán)境,當(dāng)時(shí)我的默認(rèn)python環(huán)境為3.7(也就是你在命令行輸入python指令,啟動(dòng)的是3.7版本)。所以如果你沒(méi)有進(jìn)入python3.5的虛擬環(huán)境,而是在外部執(zhí)行pyspark程序的話,系統(tǒng)默認(rèn)的python環(huán)境永遠(yuǎn)是3.7版本。但是當(dāng)你激活python3.5的虛擬環(huán)境的時(shí)候,此時(shí)系統(tǒng)默認(rèn)的python環(huán)境就是python3.5版本。
為了印證猜想,就在系統(tǒng)變量中將python3.5的虛擬環(huán)境變量聲明到python3.7的前面,將其覆蓋。
如下圖所示:

此時(shí)系統(tǒng)默認(rèn)python環(huán)境為3.5

此時(shí)再通過(guò)pycharm運(yùn)行pyspark的時(shí)候,就通過(guò)了。

總結(jié):

如果你是第一次裝anaconda,也許不會(huì)碰到這樣的問(wèn)題,如果你裝的anaconda是python3.6的版本也許也不會(huì)碰到這樣的問(wèn)題,但是如果你和我一樣很不幸,裝的是python3.7版本的anaconda,并且不想動(dòng)之前的環(huán)境,創(chuàng)建了一個(gè)虛擬環(huán)境來(lái)玩,那么“恭喜你”,大概率會(huì)碰到這樣的問(wèn)題。
不過(guò),不用頭疼,解決問(wèn)題的方法很多,就算不用這種方法,你還可以曲線救國(guó),比如重裝python低版本的anaconda等等。
不過(guò)還是得吐槽下,這個(gè)問(wèn)題真惡心,哈哈。

總結(jié)

以上是生活随笔為你收集整理的win10下安装pyspark及碰到的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。