真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python使用impala包連接hive報(bào)錯(cuò)怎么解決

本篇內(nèi)容介紹了“Python使用impala包連接hive報(bào)錯(cuò)怎么解決”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司是專業(yè)的神池網(wǎng)站建設(shè)公司,神池接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行神池網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

由于是內(nèi)網(wǎng)測試環(huán)境,沒有外網(wǎng),自然就先在本地用conda創(chuàng)建python虛擬環(huán)境,安裝好所有需要的包再移過去。

一頓操作猛如虎,各種坑都填好了,然后發(fā)現(xiàn)impala.util中的as_pandas起不動(dòng),原因是其依賴的pandas起不動(dòng),歸根結(jié)底是pandas依賴的numpy import報(bào)錯(cuò):

ImportError: Something is wrong with the numpy installation. 
While importing we detected an older version of numpy in 
['/.../anconda3/lib/site-packages/numpy']. 
One method of fixing this is to repeatedly uninstall numpy 
until none is found, then reinstall this version.
 

定位問題是卡在numpy源碼中的__init__.py這一段:

if not (hasattr(multiarray, '_multiarray_umath') and
        hasattr(umath, '_multiarray_umath')):
    import sys
    path = sys.modules['numpy'].__path__
    msg = ("Something is wrong with the numpy installation. "
        "While importing we detected an older version of "
        "numpy in {}. One method of fixing this is to repeatedly uninstall "
        "numpy until none is found, then reinstall this version.")
    raise ImportError(msg.format(path))
 

奇怪的是導(dǎo)入version是正常的,顯示目前的numpy版本是1.19.4

from numpy.version import version as __version__
print(__version__)
 

報(bào)錯(cuò)信息中的建議是先完整卸載numpy,然后重裝。網(wǎng)上看遍了解決辦法,也都是如此。

秉承著匠人程序員精神,一定要追根溯源,另辟蹊徑解決問題!

對不起,調(diào)子起高了,其實(shí)是內(nèi)網(wǎng)環(huán)境太不方便了。

既然報(bào)錯(cuò)信息說了有older version的numpy,想辦法把它清理干凈不就行了嗎?

先來看看到底之前裝了什么老版本的numpyPython使用impala包連接hive報(bào)錯(cuò)怎么解決

這就奇怪了,.../lib/site-packages目錄下1.14.3版的手動(dòng)刪除過了,怎么還有呢?看樣子還有殘存,翻一下...\Anaconda3\conda-metaPython使用impala包連接hive報(bào)錯(cuò)怎么解決

果然發(fā)現(xiàn)1.14.3的信息,delete這幾項(xiàng)再運(yùn)行一下conda list numpy,顯示只有最新版的version了,666~

Python使用impala包連接hive報(bào)錯(cuò)怎么解決  

再次import numpy,依然是最初的報(bào)錯(cuò)。。。難道還有older version余孽?

Python使用impala包連接hive報(bào)錯(cuò)怎么解決  

解決問題還是要回歸本源,咱們看一下import的原理:

對于python來說,所有被加載到內(nèi)存的模塊都是放在sys.modules里面,所以執(zhí)行import時(shí)會(huì)首先去該列表中查詢是否已添加。如果已經(jīng)在sys.modules中,那就簡單了,只需要將該module的name添加到我們正在調(diào)用該module的本地空間中。如果還沒有放在sys.modules中,就需要在sys.path所有路徑的目錄中去按順序查找該模塊的文件,這些文件一般后綴為".py"、".pyo"、".pyc"、".pyd"、".dll",找到這些模塊后就可以將這些模塊添加到sys.modules中,再將module name導(dǎo)入到本地。

所以很有可能是在導(dǎo)入numpy時(shí)新老版本在sys.modules中撞車了?

先查看一下modules里都有什么:

import sys
sys.modules
 

Python使用impala包連接hive報(bào)錯(cuò)怎么解決

元兇終于找到了

趕緊跑去..\Anaconda3\Lib\site-packages\numpy\core__pycache 目錄下把這些pyd文件刪除?。?!

Python使用impala包連接hive報(bào)錯(cuò)怎么解決  
Python使用impala包連接hive報(bào)錯(cuò)怎么解決    

“Python使用impala包連接hive報(bào)錯(cuò)怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)頁名稱:Python使用impala包連接hive報(bào)錯(cuò)怎么解決
本文網(wǎng)址:http://weahome.cn/article/gjjogc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部