python pyhs2 的安裝操作

我就廢話不多說瞭,大傢還是直接看代碼吧~

# 兩個依賴包: sasl&thrift
The easier way I find to install sasl on windows 7 is to use the pre-compiled version from here : http://www.lfd.uci.edu/~gohlke/pythonlibs/
There is a direct link to the sasl librairies here : http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl just pick the one you need.
Then you install it using pip :
pip install sasl-0.1.3-cp27-none-win_amd64.whl
 
from setuptools import setup
setup(
  name='pyhs2',
  version='0.6.0',
  author='Brad Ruderman',
  author_email='[email protected]',
  packages=['pyhs2', 'pyhs2/cloudera', 'pyhs2/TCLIService'],
  url='https://github.com/BradRuderman/pyhs2',
  license='LICENSE.txt',
  description='Python Hive Server 2 Client Driver',
  long_description=open('README.md').read(),
  install_requires=[
    "sasl",
    "thrift",
  ],
  test_suite='pyhs2.test',
  tests_require=["mock"]
)

補充:windows7下給python3安裝impyla的艱辛歷程

安裝環境標題已經給出瞭,linux下和python2下都很容易安裝,我也不知道為什麼python3反而這麼蛋疼。就直接上幹貨吧,希望其他人少走彎路。

安裝所需依賴

pip install ipython six bit_array thriftpy thrift_sasl==0.2.1 sasl impyla(admin下)

常見報錯

error: command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe’ failed with exit status 1158

FileExistsError: [WinError 183] 當文件已存在時,無法創建該文件。

LINK : fatal error LNK1158: cannot run ‘rc.exe’

大致錯誤分析

一般上面的報錯會出現在安裝sasl ,thrift_sasl,和Bitarray時,推測是源碼安裝時pip與windows的兼容性問題,這時可以用二進制文件安裝,參考https://stackoverflow.com/questions/44315943/error-installing-scrapy-error-command-c-program-files-x86-microsoft-visu中第一個回答下的第二條回復

解決辦法

上https://www.lfd.uci.edu/~gohlke/pythonlibs/找到依賴的包的二進制whl文件進行安裝,區分cp36和cp37的,然後一個個安裝,遇到哪個依賴庫報錯就在這個網站中找,用它們的包進行安裝即可

3/20更新

這幾天又發現瞭新問題:

1. 在重新安裝開發環境時出現瞭

thriftpy.parser.exc.ThriftParserError: ThriftPy does not support generating module with path in protocol ‘c’

2. 在linux上安裝sasl這個庫時,會出現依賴報錯:error: command ‘gcc’ failed with exit status 1

感覺著實蛋疼,最後才找到瞭一勞永逸的解決辦法,即使用anaconda安裝impyla即可自動解決依賴問題:

conda install -c anaconda impyla

有時安裝完impyla後還是會報thrift_sasl不存在的錯誤,可以用conda install -c anaconda thrift_sasl==0.2.1即可

參考:https://stackoverflow.com/questions/39220102/error-import-impyla-library-on-windows

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。