내부망에서는 패키지 설치 시 SSL오류가 발생한다.
관련하여 관리기관에서는 해결방법이 없다고 하고, 전용망을 설치해야 한다고 한다.
글쎄...
이 문제로 벌써 5년 가까이 답이 없는걸로 알고 있었다.
현재 있는 곳에서도 그렇고 그전에 있었던 은행에서도 그랬다.
그런데 해결이 됐다.
첫째 방법은 많이 사용되는 방법이다.
pip install <패키지명> --trusted-host pypi.org --trusted-host files.pythonhosted.org
pytorch를 다운받을때는
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host download.pytorch.org
-poetry를 사용하는 경우는 pip.ini 또는 .pip/pip.conf에 에 포함시켜 둔다.
[global]
trusted-host = pypi.org files.pythonhosted.org
-huggingface 추가시에는
[global]
trusted-host = pypi.org files.pythonhosted.org huggingface.co cdn.huggingface.co
두번째
그런데 huggingface를 사용할때는 모델을 명시하는 순간 다운로드가 시작되는데 이때는 위의 방법으로 해결되지 않는다.
오늘 사용한 방법은 좀 다르다.
import os
import ssl
import requests
os.environ["HF_HUB_DISABLE_SSL_VERIFY"] = "1"
os.environ["PYTHONHTTPSVERIFY"] = "0"
ssl._create_default_https_context = ssl._create_unverified_context
old_request = requests.Session.request # 기존 request 메서드를 저장합니다.
def new_request(self, *args, **kwargs):
kwargs['verify'] = False # SSL 검증을 항상 비활성화
return old_request(self, *args, **kwargs)
requests.Session.request = new_request # requests의 모든 세션에 대해 request 메서드를 교체합니다.
from sentence_transformers import SentenceTransformer
model_name = "sentence-transformers/all-MiniLM-L6-v2"
model = SentenceTransformer(model_name)
위의 방법으로는 모델이 다운로드 된다.
SSL검증을 비활성화하는 방법이다.
위의 방법을 사용할때 첫번째는 모델이 다운로드 되었으나 두번째에는 다운이 안되는 경우가 있다. 이때는 폴더의 캐쉬를 제거해준다.
C:\Users\<사용자명>\.cache\huggingface\hub
이 문제로 참 애먹었는데 이제야 해결이 된다.
'빅데이터' 카테고리의 다른 글
통합대피소 위치시각화 (0) | 2025.02.14 |
---|---|
star-history.com (1) | 2024.10.18 |
기상위성 데이터를 살펴보자 (0) | 2024.07.26 |
텍스트 요약 비교 (0) | 2024.03.06 |
Airflow (0) | 2024.02.21 |