테스트 환경 : CentOS 7 / MariaDB 10.1.12 / Python 3.5
- Virtual Box 이미지의 프로세서 개수를 늘려준다.
설정 > 시스템 > 프로세서 > 프로세서 개수 로컬 프로세스의 개수와 상관없이 이미지의 cpu개수를 설정할 수 있다. |
- Python Parallel 다운로드
pp-1.6.4.4.zip 파일 다운로드 및 압축 해제 후 서버로 파일을 이동한다. (다운로드 경로 : http://www.parallelpython.com/content/view/18/32/) |
- Python Parallel 설치
[python@localhost /home/python]$ cd /home/python/pp-1.6.4.4
[python@localhost /home/python/pp-1.6.4.4]$ python setup.py install |
pp-1.6.4.4 폴더로 이동 후 Python Parallel을 설치한다. |
- 설치 시 다음과 같은 에러가 발생할 수 있다.
[python@localhost pp-1.6.4.4]$ python /home/python/pp-1.6.4.4/setup.py install running install running bdist_egg running egg_info … Extracting pp-1.6.4.4-py3.5.egg to /usr/local/lib/python3.5/site-packages Adding pp 1.6.4.4 to easy-install.pth file error: [Errno 13] Permission denied: '/usr/local/lib/python3.5/site-packages/easy-install.pth' |
해당 파일에 대한 권한이 없어서 에러가 발생했을 때 권한을 다음과 같이 변경해준 후 재설치한다. |
[python@localhost pp-1.6.4.4]$ ls -al /usr/local/lib/python3.5/site-packages/easy-install.pth -rw-r--r--. 1 root root 215 4월 6 22:01 /usr/local/lib/python3.5/site-packages/easy-install.pth
[root@localhost ~]# chown python.python /usr/local/lib/python3.5/site-packages/easy-install.pth |
- Import 시 에러가 발생할 경우
[python@localhost python3]$ rm –rf /usr/local/lib/python3.5/site-packages/pp-1.6.4.4-py3.5.egg/pp.py
[python@localhost python3]$ cp /home/python/pp-1.6.4.4/python3/pp.py /usr/local/lib/python3.5/site-packages/pp-1.6.4.4-py3.5.egg/ |
Python 접속 후 import pp 시 문법 에러가 발생할 수 있는데 이것은 Python Parallel 설치 시 잘못된pp파일이 옮겨져서 생기는 문제이다. 따라서 위와 같이 python3에 있는 pp파일을 옮겨주면 해결된다. |
- 예제 프로그램으로 동작 확인
[python@localhost /home/python/pp-1.6.4.4/examples]$ python quicksort.py Usage: python quicksort.py [ncpus] [ncpus] - the number of workers to run in parallel, if omitted it will be set to the number of processors in the system
Starting pp with 2 workers first 30 numbers in increasing order: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, Job execution statistics: job count | % of all jobs | job time sum | time per job | job server 32 | 100.00 | 6.6967 | 0.209271 | local Time elapsed since server creation 5.402305364608765 0 active tasks, 2 cores |
설정한 프로세서의 개수만큼 병렬로 처리한 것을 확인한다. |
'Programming' 카테고리의 다른 글
[Python]주식 종목 데이터 및 일별 시세 데이터 DB적재 (0) | 2016.04.22 |
---|---|
Python Parallel로 DB 데이터 읽어오기 (0) | 2016.04.18 |
Python Parallel 예제 소스 분석 (0) | 2016.04.17 |
종목의 데이터 추출하기 (0) | 2016.04.14 |
BeautifulSoup4를 이용한 웹페이지 데이터 가져오기[정리필요] (0) | 2016.04.13 |