SAS Viya 평가판 환경에서 html5lib 추가

SAS Viya는 AI 개발 환경입니다. 무료로 사용할 수 있는 평가판 버전을 제공합니다. 다양한 데이터를 데이터 소스로 가져올 수 있지만 그 안에 HTML 테이블을 읽을 수 있는 기능이 있습니다. 그러나 기본적으로 실행하면 html5lib가 없다는 오류가 발생합니다.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-8d2857382349> in <module>()
----> 1 htmldmh = dmh.HTML('./FDIC_ FailedBankList.htm', 'index=0')

/opt/sasinside/anaconda3/lib/python3.6/site-packages/swat/cas/datamsghandlers.py in __init__(self, path, index, nrecs, transformers, **kwargs)
    865 
    866     def __init__(self, path, index=0, nrecs=1000, transformers=None, **kwargs):
--> 867         super(HTML, self).__init__(pd.read_html(path, **kwargs)[index],
    868                                    nrecs=nrecs, transformers=transformers)
    869 
  :
/opt/sasinside/anaconda3/lib/python3.6/site-packages/pandas/io/html.py in _parser_dispatch(flavor)
    666     if flavor in ('bs4', 'html5lib'):
    667         if not _HAS_HTML5LIB:
--> 668             raise ImportError("html5lib not found, please install it")
    669         if not _HAS_BS4:
    670             raise ImportError(

ImportError: html5lib not found, please install it

그리고 html5lib를 인스톨 하려고 합니다만, 테스트 환경에서는 서버로부터 외부 환경에 액세스가 금지되고 있어 네트워크 접속을 할 수 없습니다.
!pip install html5lib
Collecting html5lib
    :
  Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f625ced3320>, 'Connection to pypi.python.org timed out. (connect timeout=15)')': /simple/html5lib/
  Could not find a version that satisfies the requirement html5lib (from versions: )
No matching distribution found for html5lib

그것을 피하는 방법을 소개합니다.

로컬 파일 업로드



우선 필요한 것은 html5lib 와, 한층 더 html5lib 에 의존하는 webencodings 입니다. 둘 다 PyPI에서 다운로드할 수 있습니다.
  • webencodings · PyPI
  • html5lib · PyPI

  • 그리고 다운로드한 파일을 Jupyter 화면에서 업로드합니다.



    설치



    업로드한 후 파일을 압축 해제하고 설치합니다. 이 때, --user 를 붙여 유저 환경하에 인스톨 합니다. 설치는 독립적 인 webencodings를 먼저 수행합니다.
    !tar xfz webencodings-0.5.1.tar.gz
    !pip install ./webencodings-0.5.1 --user
    
    !tar xfz html5lib-1.0.1.tar.gz
    !pip install ./html5lib-1.0.1 --user
    

    라이브러리 로드 경로 추가



    라이브러리는 ~/.local/lib/python3.6/site-packages/에 설치되므로이 경로를 라이브러리의로드 경로에 추가합니다. dev는 여러분의 사용자 이름입니다.
    import sys
    sys.path.append("/home/dev/.local/lib/python3.6/site-packages")
    

    이제 HTML 테이블을 읽을 수 있습니다.
    from swat.cas import datamsghandlers as dmh
    htmldmh = dmh.HTML('./FDIC_ FailedBankList.htm')
    

    요약



    평가판 환경에서는 다른 몇 가지 제한 사항이 있지만 대부분의 평가판을 사용할 수 있습니다. 꼭 SAS Viya를 사용하여 AI/기계 학습을 체험해 보세요.

    SAS for Developers | SAS

    좋은 웹페이지 즐겨찾기