일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- dhcp
- SSLVPN
- JBLY
- 파이썬
- 네트워크보안
- CBI면접
- 보안솔루션
- 방화벽
- XDR
- 보안
- 네트워크
- 롯데인재개발원
- 통합보안솔루션
- 롯데모의면접
- 클레어키건
- 보안관제
- mdr
- 정보보안
- rayframework
- anti-virus
- 롯데그룹모의면접
- opencv를이용한이미지자르기
- ips/ids
- 웹스크래핑
- 크롤링
- network
- 이처럼사소한것들
- Soar
- EDR
- 이미지크롤링
- Today
- Total
아리아 날다
[Python병렬처리] Windows 환경에 Ray설치하기! 본문
기존의 코드 변경을 거의 하지 않고도 쉽게 분산/병렬화 할 수 있다는 장점이 있는 프레임워크 Ray를 프로젝트에서 사용해보고 싶어서 설치를 시도했다.
그런데..!
ERROR: Could not find a version that satisfies the requirement ray (from versions: none)
ERROR: No matching distribution found for ray
버전이 맞지 않아서 설치할 수 없다는 에러가 떴다. 기존에 사용하던 Python 버전은 3.11이었는데, 현재 Ray는 Python 3.6부터 3.9까지의 버전을 지원하고 3.11버전을 지원하는지에 대한 공식적인 발표는 나오지 않았다.
또한,
Ray의 일부 기능은 Windows에서 지원되지 않는다😿
특히 GCS(Global Control Store)을 지원하지 않는데, GCS는 분산 키-값 저장소를 사용하여 정보를 저장하고 관리하므로 여러 노드에서 수평으로 확장하고 대량의 데이터를 처리할 수 있게 도와주는 기능이다. GPT에게 물어보니 GCS 대신에 로컬 스케줄러를 이용하면 GCS에 의존하지 않고도 단일 노드 내에서 병렬 프로그래밍을 수행할 수 있다고 한다.
아직 베타버전이지만 병렬 프로그래밍을 수행하는데 큰 문제가 없을 것으로 보여 설치를 시작했는데, 파이썬 버전을 3.9로 낮춰도 계속 똑같은 에러 메시지가 뜨고 설치가 안됐다.
pip install --upgrade pip
pip install numpy protobuf psutil
pip install ray
위와 같이 pip를 업그레이드 하고 필요한 의존성 라이브러리를 추가한 후 다시 설치를 시도해도 계속 "Could not find a version that satisfies the requirement ray" 에러가 떠서 결국,
git clone https://github.com/ray-project/ray.git
cd ray/python
pip install -e .
Ray의 공식 Github 페이지에서 최신 소스코드를 다운로드 하고 설치했다. 위 명령어를 통해 Ray가 설치 되었는데, 이번엔 Ray에서 제공하는 함수들이 호출이 안되는 문제가 생겼다.
pip install -U ray[cpp]
python.exe -m pip install --upgrade pip
Ray 공식문서를 보니 C++ API를 설치하는 명령어가 있어서 위 명령어로 Ray C++ API를 한 후, pip를 최신 버전으로 업그레이드 하니 성공적으로 설치가 완료됐다!
또한 Ray는 Redis를 기반으로 사용하는데 Redis를 설치하고 Redis-server가 실행중이면 실행이 안 될 수도 있다고 한다. 혹시 위 방법을 모두 시도했는데도 안된다면 작업 관리자에서 Redis-server를 종료하고 실행해보는 걸 추천한다.
참고
https://docs.ray.io/en/master/ray-overview/installation.html#
Installing Ray — Ray 3.0.0.dev0
docs.ray.io
'파이썬' 카테고리의 다른 글
[Discord/Python] Discord 봇으로 스레드 생성하기 (0) | 2023.08.12 |
---|---|
[Python Crawling] 쇼핑몰 크롤링시 뭉쳐있는 이미지 OpenCV로 crop해서 저장하기 (0) | 2023.04.04 |
[Python Crawling] 셀레니움을 이용한 동적 크롤링, 잘 알고 쓰시나요? (2) | 2023.03.11 |