1. Chocolatey 설치
Chocolatey는 윈도우에서 많이 활용되는 패키지 매니저이다.
설치 전 먼저 3가지를 확인해야 한다.
첫번째로 윈도우에 PowerShell이 설치 되어 있어야 하며, 버전은 3이상이어야 한다.
관리자 권한으로 PowerShell 탭을 열고
$PSVersionTable
명령어를 실행
두번째론 NET.Framework가 4.5버전 이상이 설치되어 있어야한다.
get-item 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
명령어를 실행
세번째론 실행정책 제한 여부를 확인해야하는데, 이를 위해 PowerShell을 관리자 모드로 실
행해준다.
그 후
Get-ExecutionPolicy
실행해서 Unrestricted가 나오는지 확인한다.
만약 Restricted라고 나온다면 AllSigned나 Bypass로 설정한다.
Set-ExecutionPolicy AllSigned
ExcutionPolicy를 AllSigned로 설정
Set-ExecutionPolicy Bypass -Scope Process
ExcutionPolicy를 Bypass로 설정
사전 세팅이 끝났다면 Chocolatey 설치해보자!
영어가 되시는 분은 공식 사이트 내용을 따라해서 설치하셔도 좋다.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Chocolatey 설치 명령어 실행 (출처: 공식 사이트)
Chocolatey 설치 확인을 해본다
choco
만약! 설치 정책을 변경하였는데도 설치가 진행되지 않는 경우 두가지 선택지가 있다.
1) Chocolatey 없이 그냥 필요한 설치 파일을 다운로드해서 실행
2) 실행정책을 Unrestricted로 변경
먼저,
1) 비교적 간단하고 익숙한 방법
Oracle Virtualbox
Vagrant
공식 홈페이지에서 자신에게 맞는 Windows로 설치파일 다운로드 및 설치
2) 복잡하고 익숙하지 않은 방법
LocalMachine을 Unrestricted로 변경해야한다.
Get-ExecutionPolicy -List
현재 실행정책 리스트 확인
이렇게 되어 있는데도 설치가 안됐다면 , 실행 정책 문제가 아니라 다른 문제이다. 1)번 방법 권장
실행정책 현황이 위 그림과 다르다면, 다음 명령어들을 차례대로 실행해준다.
Set-ExecutionPolicy AllSigned
Get-ExecutionPolicy
(AllSigned로 바꼈는지 확인)
Get-ExecutionPolicy -List
실행정책 리스트 다시 확인
실행 정책을 Unrestricted로 변경하기 전에 MS에서 공식 설명글을 확인하고 변경해주길 바란다.
잘못 변경해서 보안 문제가 생기는 경우 필자는 책임을 지지않는다.
- 실행정책 변경 규칙
Set-ExecutionPolicy -ExecutionPolicy [원하는 '실행정책'] -Scope ['스코프']
> ['실행정책']: Undefined, Unrestricted, Bypass, Allsigned, Restricted
> ['스코프']: MachinePolicy, UserPolicy, Process, CurrentUser, LocalMachine
현재 실행정책(ExecutionPolicy)가 Undefined가 아니라면, Unrestricted로 바로 변경할 수없다.
따라서 순차적으로 Undefined로 변경 후 Unrestricted로 변경한다.
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope [’스코프’]
순차적으로 Undefined로 변경
Get-ExecutionPolicy -List
다시 현재 실행정책 확인
Set-ExecutionPolicy Unrestricted
LocalMachine을 실행정책 Unrestricted로 변경
Get-ExecutionPolicy -List
제대로 바꼈는지 확인
2. Choco를 활용하여 프로그램 설치
다음 과정은 한번만 진행하면 된다. (이미 설치된 프로그램이 있으면 Skip)
choco 를 사용하여 간단하게 설치를 진행해보자.
2-1. Virtualbox
choco install virtualbox
Virtualbox 설치
만약 패키지 설치 시, 에러 발생 시 아래 사이트서 대처 방법 참조
2-2. Vagrant 설치
choco install vagrant
Vagrant 설치
설치 중, 중간에 질문이 나온다.
Do you want to run the script?([Y]es/[A]ll
나중에 추가 설치할 일이 없게 A 라고 입력해주면 된다.
설치가 완료되면 재부팅이 필요하다고 나오니 윈도우를 다시 시작해준다.
3. Vagrant로 Ubuntu 다운로드
이제 C드라이브의 vagrant 폴더에 Ubuntu 가상환경을 세팅해보자
재부팅 후 Powershell에 접속 후 c 드라이브로 이동한다.
cd c:\
C드라이브(혹은 Windows가 설치되어 있는 드라이브로 이동)
mkdir vagrant
vagrant 폴더를 생성한다.
PS C:\> cd .\vagrant\
vagrant로 이동한다.
PS C:\vagrant> vagrant init hashicorp/bionic64
Vagrant로 Ubuntu 가상 환경을 설정한다.
4. Vagrant로 Ubuntu 가상 환경 실행
vagrant up
가상머신 생성 및 실행/재실행 (처음 실행 시, 시간이 오래 걸릴 수 있음)
vagrant status
vagrant 상태 확인 명령어
vagrant halt
가상 머신 전원 끄기
vagarnt ssh
가상 머신 환경으로 접속 (가상 머신이 켜진 상태에서[vagrant up])
가상컴퓨터 환경으로 접속 후 접속한 상태에서 원래 터미널로 돌아오고 싶다면…
$ logout
명령어를 실행하면 된다.
vagrant destroy
가상 머신 삭제
vagrant -h
그 외 명령어는 공식 문서에서 참조바람.
5. 가상 머신과 윈도우에서 파일 공유하기
vagrant는 'vagrant 명령어'를 실행한 디렉터리 (지금 실습에서는 /vagrant)를 공유한다.
Windows창에서 test.py 파일을 만들고 다음과 같이 코드를 작성후 저장한다
print("Hello World")
vagarnt ssh
위 코드를 통하여 가상 머신 환경으로 접속 한 후
다음과 같은 명령어를 실행해준다.
pwd
현재 경로 확인
vagrant@vagrant:~$ cd ../../vagrant/
root로 간다음 /vagrant 디렉토리로 이동
vagrant@vagrant:/vagrant$ ls
해당 경로에서 파일 목록 확인
vagrant@vagrant:/vagrant$ cat test.py
6. Wget 설치하기
이제 Ubuntu 가상 머신에서 리눅스 환경에 맞는 패키지 매니저를 설치해보자
vagrant@vagrant:/vagrant$ sudo apt-get install wget
apt-get wget 설치
vagrant@vagrant:/vagrant$ sudo apt-get update
apt-get 업데이트
7. Python 가상환경 설정
아래 명령어를 통해 가상환경을 설치하고, 새로운 폴더를 만들어 임의의 가상환경을 생성하도록 한다.
vagrant@vagrant:/vagrant$ sudo apt-get install -y python3-venv
python 버전3 virtualenv 설치
- ‘-y’:옵션: 물어보는 것들에 ‘yes’라고 응답
After this operation, 4,913 kB of additional disk space will be used.
Do you want to continue? [Y/n]
(’-y’ 옵션 미사용 시 ‘설치 작업 후에 4,913 kB 용량을 디스크에서 사용할거다 그래도 계속
할건가?’ 라고 물어본다 이 과정을 생략하기 위해 추가한 옵션)
vagrant@vagrant:/vagrant$ mkdir crawling
crawling 디렉토리 생성
vagrant@vagrant:/vagrant$ cd crawling
해당 디렉토리로 이동
vagrant@vagrant:/vagrant/crawling$ python3 -m venv venv
crawling 폴더에서 python 가상환경 ‘venv’ 설정
vagrant@vagrant:/vagrant/crawling$ ls
venv 생성 확인
8. Vagrant 포트 설정 & Web crawling 관련 패키지 설치
패키지 설치 전 해줘야 할 것이 있다.
Windows에서 C 드라이브 경로에 만들었던 ‘vagrant’ 폳더를 열어준다.
Vagrantfile 파일을 메모장으로 열고 아래 코드를 추가한다.
# config.vm.network "forwarded_port", guest: 80, host: 8080
위 주석 문구가 있는 위치에서
config.vm.network "forwarded_port", guest: 8888, host: 8888
다음 문구 추가 후 저장
vagrant@vagrant:/vagrant$ logout
Powershell에서 logout 명령어로 로그아웃 해준 뒤…
PS c:\vagrant> vagrant reload
reload를 실행하여 시스템에 재설정 해준다.
PS c:\vagrant> vagrant ssh
‘vagrant ssh’를 통해 재접속한다.
Python 가상환경 설정을 했던 경로로 다시 이동
/vagrant/crawling$ (해당 경로)
$ source /venv/bin/activate
Python 가상환경에 접속
$ which python
가상환경 경로 확인
(venv) $ sudo apt --fix-broken install
여러 패키지 설치를 설치 하기전에 의존성 문제를 피하기 위해 위 코드 실행
(venv) $ sudo apt install python3-pip
python3 pip 설치
(venv) $ sudo -H pip3 install --upgrade --ignore-installed pip setuptools
pip3 업그레이드
(venv) $ pip install Requests lxml cssselect beautifulsoup4 numpy pandas selenium chromedriver-autoinstaller jupyter
Web crawling을 위한 여러 패키지 설치
9. Jupyter 실행 및 코드 테스트
(venv) $ jupyter notebook --ip=0.0.0.0
jupyter notebook 실행
화면이 자동으로 안뜨면 터미널 창에 표시되는 링크를 복사해서 브라우저에 붙여넣기 해준다.
jupyter notebook이 열리면 아래 코드를 작성해 간단하게 테스트를 해본다.
import requests
import json
import pandas as pd
import numpy as np
import lxml.html
r = requests.get("http://wikibook.co.kr/python-for-web-scraping/")
html = r.text
root = lxml.html.fromstring(html)
titleElement = root.xpath("//*[@id='content']/div[1]/div[2]/ul/li[1]")
titleElement[0].text
10. 가상환경 종료
실습을 완료하고 안정적으로 시스템을 끝내기 위해 다음 과정을 거치자
$ deactivate
Python 가상환경을 해제 해준다.
$ logout
가상머신에서 로그아웃
vgrant halt
가상머신 종료
'# Coding > 가상환경 구축' 카테고리의 다른 글
PyCharm과 VS Code를 활용한 Python 가상환경 구축 & 패키지 설치 (0) | 2023.07.25 |
---|