使用pyhive的時候出現了這個問題,我使用的是anaconda3。查了很多帖子都不能解決。 參考: https://blog.csdn.net/weixin_43142260/article/details/115198097 https://blog.csdn.net/wenjun_xiao/a ...
使用pyhive的時候出現了這個問題,我使用的是anaconda3。查了很多帖子都不能解決。
參考:
https://blog.csdn.net/weixin_43142260/article/details/115198097
https://blog.csdn.net/wenjun_xiao/article/details/104458940
https://blog.csdn.net/qq_15821487/article/details/116499466
https://blog.csdn.net/master_hunter/article/details/125003692
(以上都未能解決我的問題)
反正搗鼓來搗鼓去,發現是sasl需要使用E:\YingYongRJ\Anaconda\Lib\site-packages\sasl\sasl2目錄里的一些dll文件。
最後文章4給了我啟示。
發現anaconda3把地址最後這個文件夾sasl2移動到了E:\YingYongRJ\Anaconda\Library\bin,導致程式讀取不到位置。
用了文章2給的代碼:管理員控制台粘貼代碼:
FOR /F "usebackq delims=" %A IN (`python -c "from importlib import util;import os;print(os.path.join(os.path.dirname(util.find_spec('sasl').origin),'sasl2'))"`) DO (
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library" /v SearchPath /t REG_SZ /d "%A"
)
(anaconda2用法不一樣,詳細看文章2)
以上代碼是在註冊表裡創建一個lib的搜索路徑。但是還是不能用,我們還需要再改一下下:
win+R裡面輸入regedit
regedit里點開路徑:HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library
把SearchPath的值改為E:\YingYongRJ\Anaconda\Library\bin\sasl2就好了(註意改為自己anaconda的地址)
然後就好了okk~