bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python使用impala包連接hive報錯怎么解決

本篇內容介紹了“Python使用impala包連接hive報錯怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創新互聯公司是專業的神池網站建設公司,神池接單;提供網站制作、網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行神池網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

由于是內網測試環境,沒有外網,自然就先在本地用conda創建python虛擬環境,安裝好所有需要的包再移過去。

一頓操作猛如虎,各種坑都填好了,然后發現impala.util中的as_pandas起不動,原因是其依賴的pandas起不動,歸根結底是pandas依賴的numpy import報錯:

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))
 

奇怪的是導入version是正常的,顯示目前的numpy版本是1.19.4

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

報錯信息中的建議是先完整卸載numpy,然后重裝。網上看遍了解決辦法,也都是如此。

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

對不起,調子起高了,其實是內網環境太不方便了。

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

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

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

果然發現1.14.3的信息,delete這幾項再運行一下conda list numpy,顯示只有最新版的version了,666~

Python使用impala包連接hive報錯怎么解決  

再次import numpy,依然是最初的報錯。。。難道還有older version余孽?

Python使用impala包連接hive報錯怎么解決  

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

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

所以很有可能是在導入numpy時新老版本在sys.modules中撞車了?

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

import sys
sys.modules
 

Python使用impala包連接hive報錯怎么解決

元兇終于找到了

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

Python使用impala包連接hive報錯怎么解決  
Python使用impala包連接hive報錯怎么解決    

“Python使用impala包連接hive報錯怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

當前標題:Python使用impala包連接hive報錯怎么解決
文章URL:http://vcdvsql.cn/article12/gjjogc.html

成都網站建設公司_創新互聯,為您提供響應式網站網站設計公司面包屑導航網站導航標簽優化網站內鏈

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站