본문 바로가기
## 오래된 게시글 (미관리) ##/Python (Linux)

9. Python - 기본패키지 설정, 가상환경 만들기

by #Glacier 2018. 11. 23.
반응형

안녕하세요. 오늘은 Python을 설치해보도록 하겠습니다. 이제 머신러닝이 뭔지..해봐야겠죠 


 


먼저 저번까지 만들었던 상태에서 그대로 실행하셔서!

$HOME 디렉토리가 어디로 설정되어있는지 보시면

root밑으로 지정되어있을 겁니다.


export  ML_PATH ="$HOME/ml"

명령어를 통해 ML_PATH를 root폴더 밑에 ml 디렉토리로 지정합니다.

이 폴더는 이제 코드와 데이터셋을 저장하는 데 활용하고자 합니다.

mkdir -p $ML_PATH 

정의한 ML_PATH 밑에 mkdir 명령어로 디렉토리를 만듭니다.


위 사진에서 보시다시피 root/ml 로 만들어진 것을 알 수 있습니다.


이제 파이썬을 설치해볼 것인데요.


yum install zlib-devel -y
yum install openssl openssl-devel -y


wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
xz -d Python-3.6.1.tar.xz
tar -xvf Python-3.6.1.tar

cd Python-3.6.1
./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make && make altinstall

# pip설치 
curl -k -O https://bootstrap.pypa.io/get-pip.py
python3.6 get-pip.py

위의 출처에서 참고하였고, 3.6.1버전으로 바꿨습니다. 3.6버전을 사용하려고요! 다른거 사용하셔도 됩니다.
다만 2.X버전만 빼고!

zlib-devel은 컴파일때 필요한 압축 라이브러리라고 합니다!
openssl은 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈소스 구현판이라고 하네요.(어렵)
./configure은 환경설정 부분인 것 같은데요.
정말 설치법은 다들 잘 써놓았는데 자세한 설명은 전혀 없네영..(ㅠㅠ)

전부 설치된 화면입니다.


이제 잘 설치되었는지 확인을 해보도록 합시다.


이렇게 mycon 안에서 설치했기 때문에 mycon 안에 설치된 것을 볼 수 있습니다.


최신버전의 pip3이 설치되었는지 확인합니다.
pip3 --version
pip3 install --upgrade pip
하면 Required already up-to-date 라며 최신버전이 이미 깔려있다고 하네요.

그전에.. 저는
export py="$HOME/바탕화면/mycon/Python-3.6.1/"
명령어로 python 폴더를 지정해두었습니다. 다른 방법은 모르지만 귀찮아서 cd $py로 움직이기 위해서..

#### 선택사항 #### #### 선택사항 #### #### 선택사항 #### #### 선택사항 #### #### 선택사항 ####

독립적인 환경을 만들기 위해 virtualenv를 설치합니다.
virtualenv는 파이썬에서 가상환경을 생성하고 관리하는 패키지라고 합니다.
한 컴퓨터에서 여러 프로젝트를 작업할 때, 파이썬 패키지의 의존성이 충돌하지 않도록 관리해주는 툴이라고 하네요.
virtualenv를 사용하여 프로젝트를 관리하면 이 설치되는 패키지들이 다른 프로젝트에서 설치한 같은 패키지들에 영향을 주지 않는다고 합니다.
즉, 독립된 개발 환경(다른 프로젝트의 라이브러리 버전과 충돌하는 것을 피하기 위해 권장하는 방법)을 선호한다면 설치합니다.

자 이제 파이썬이 설치된 곳으로 가서
cd $py
pip3 install virtualenv
설치가 완료되면,
cd $ML_PATH
virtualenv env

명령어를 통해 우리의 ML_PATH에 독립적 환경을 만들고
활성화하기 위해서는

source env/bin/activate
명령어로 실행하면 앞에 (env)라고 뜨는 것을 볼 수 있습니다. 성공! (오늘 성공이 많아서 기쁨)
종료는 deactivate


env환경에서 설치할 경우
ModuleNotFoundError : No Module named 'pysqlite2'
오류가 뜰 수 있으니 Env환경에서 나간 후에 설치해야 합니다.
저는 설치하지 않겠삼

구글링을 하던 도중
The pysqlite2 package might be installed outside of your virtual environment which is why the tests seem to pass there.
가상환경 밖에서 설치되어야 하는데, 우리가 가상환경에서 설치했죠.. 
그래서 안됬군
파이썬 3.4 버전 이후부터는 구지 필요 없다는 말도 있어 ..선택사항입니다..!
#######################################################################################


이제 다음 명령으로 필요한 패키지와 의존성으로 연결된 다른 패키지들을 모두 설치합니다.
cd $py
pip3 install --upgrade jupyter matplotlib numpy pandas scipy scikit-learn
python3 -c "import jupyter, matplotlib, numpy, pandas, scipy, sklearn"
아무것도 출력되지 않으면
이제 설치가 완료되었습니다!


## 더 최신버전을 설치하고 싶으신 분들은
cd ~
tar -xvf Python-3.6.7.tgz
cd Python-3.6.7/
./configure
환경설정이 끝나면
make && make altinstall
(컴파일)

이후
cd~
ls
해서 파일을 확인해보시고..
python 
하시면 파이썬이 기본적으로 내장된 2.6.6버전이 실행됩니다.
~에서(홈에서) mkdir bin
ln -s /root/Python-3.6.7/python /root/bin/python3
python3
하시면 이제 3.6.7버전이 실행됩니다!

저는 3.6.7쓰겟습니다~~~~ 편하신거 써보세요! 둘다 해보셔도 좋고..

## No Module Named 'sqlite3' 오류해결법

yum search sqlite3
yum install sqlite-devel.x86_64

파이썬 재설치 ( cd ~, cd Python-3.6.7/ 후에)

./configure
make && make altinstall

아~주 잘되네욤

시험삼아 jupyter notebook --allow-root
해보면 잘 됩니당!


반응형