Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

파이썬을 어느 정도 활용하고 싶다는 생각이 들면 파이썬 아나콘다를 설치하길 권한다. 공식 파이썬 사이트에서 배포하는 파이썬과 아나콘다(anaconda)의 차이점은 튜닝 전 차와 튜닝 후 차로 비유할 수 있다.

아나콘다는 수학, 과학 분야의 패키지로 튜닝한 파이썬으로 수학, 과학 분야에서 필요한 거의 모든 패키지들(Numpy, SciPy, IPython, Matplotlib, 등)이 포함되어 있다. 정식 파이썬을 설치한 후 일일이 필요한 라이브러리를 추가로 설치하는 것은 의존성 문제나 설치의 번거로움 등으로 짜증날 수 있기 때문에 용량은 조금 더 크지만 아나콘다를 설치하는 것이 정신건강상 이롭다.

최근에는 인공지능이나 데이터 분석을 위해 파이썬을 많이 사용하는데 베이스로 아나콘다(anaconda)를 설치하고 시작하는 것이 정석화 되었다.

(※ 주의 - 아나콘다(anaconda)를 설치하기전에 파이썬을 설치하는 경우가 있는 둘 중에 하나만 설치한다. 튜닝 전 차와 튜닝 후 차 두개를 살 필요가 없기 때문이다. 이렇게 두개를 같이 설치하면 환경변수가 꼬여버려 문제가 생길 수 있다.)


  • 파이썬 아나콘다 설치 

Anaconda 아나콘다 다운로드 사이트에 가서 아랫쪽으로 스크롤하면 다음과 같이 아나콘다를 다운로드 받는 화면이 나온다. 

Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

자신의 OS에 맞게 다운로드를 받아서 설치를 해 준다. 무얼 설치할지 모르겠다면 Python 3.6 version을 클릭해서 설치해 준다. 버전은 나중에 바꿀 수 있다.(아래 설명 있음)

편의상 설치 디렉토리를 C:\Anaconda3 로 했다.

설치를 마쳤다면 이번에는 파이썬의 버전을 바꿔보자. 간혹 파이썬 최선버전을 지원하지 않는 패키지들이 있는데 대표적으로 머신러닝을 위한 패키지인 텐서플로우(tensorflow)가 그렇다. 텐서플로우 설치방법은 다음을 참고하자.

텐서플로우 tensorflow 설치 파이썬, GPU 이용


  • 아나콘다에서 파이썬 버전 바꾸기

명령프롬프트를 열어서 다음 명령을 쳐본다.

conda search python

스클롤을 하면 아래 쪽에 python 이라고 써져있는 곳 부터 사용가능한 버전 목록이 나열된다. *는 현재 사용중인 파이썬 버전을 표시하는 것이다. 현재 3.6.0을 사용하고 있음을 알 수 있다.

버전을 3.5.3으로 바꾸는 두 가지 옵션이 있다. 권장 방법은 기존 버전은 유지한 채로 파이썬 3.5.3 환경을 하나 더 만드는 것이다. 방법은 다음과 같다.

conda create -n py35 python=3.5.3 anaconda

py35라는 이름으로 python 3.5.3 환경을 만든다.

파이썬 3.5.3 환경을 사용할 때

activate py35

파이썬 3.5.3 환경에서 나올 때

deactivate py35

py35라고 만들어 놓은 환경은 독립된 환경이므로 py35가 activate된 상태에서 패키지를 설치하면 아나콘다 기본 환경(파이썬 3.6.0)에는 영향을 미치지 않는다 반대로 deactivate py35를 하면 기본 환경으로 빠져 나오므로 py35환경하에서 설치된 패키지를 사용할 수도 없고 py35환경에 영향을 줄 수도 없다.

conda install python=3.5.3

위 명령은 아나콘다의 기본 파이썬 버전을 아에 python 3.5.3 버전으로 바꾸는 명령이다. 독립된 환경을 따로 만들어 사용하는 방법이 번거롭게 생각되고 굳이 파이썬 최신버전을 사용할 이유가 없다면 위 명령을 사용하자.

programming

아나콘다 파이썬 가상 환경 생성(python버전 및 window버전 구분)

dudungE 2022. 3. 4. 10:15

퀀트 분석 및 자동매매 시스템을 만드는데 있어서 가상환경을 설정해주어야할 필요가 있습니다.

1. 증권사API(키움, 대신, 이베스트 etc)들을 활용할 때 window32환경이 필요

2. zipline과 같은 백테스팅 라이브러리를 활용할 때 파이썬 버전을 맞춰줘야할 필요

Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong
현 시점에서 zipline은 python 2.7, 3.5, 3.6 버전 지원가능

<목표>

- 나는 키움증권API과 zipline을 활용하고자 한다.

- 그렇다면 window는 32bit로 파이썬은 3.6버전으로 가상환경을 만들것이다.


0. conda 가상환경 정보 확인 방법

1. 가상환경 리스트 확인

conda env list
Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong
현재 나의 가상환경 리스트

2. conda info를 통해 해당 가상환경의 정보확인 가능(--envs생략가능)

conda info --envs

3. python환경 진입하여 확인

아나콘다 프롬프트 상에서 python입력하여 python환경으로 진입

import sys
import platform

print(sys.version)
print(platform.architecture())

exit() or quit() or ctrl+z 을 통해 python환경에서 나갈 수 있다

(실질적인 응용은 뒤에서 계속)


1. base환경 상에서 window 32bit로 변경

Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

 프롬프트에서 python을 실행하여 base환경에서 파이썬 버전 및 윈도우 비트를 확인해본 결과

파이썬버전: 3.8.5

윈도우: 64bit

set CONDA_FORCE_32BIT=1

해당 명령어를 실행하면 base상에서 window 32bit로 변경가능 

Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

 conda info를 통해확인해보면 win-32로 설정되어있음을 알 수 있다.

(set CONDA_FORCE_32BIT=0을 실행하면 win-64로 다시 변경가능)


2. 가상환경 생성 및 활성화(python version = 3.6)

현재 base환경에서 win-32로 설정한 상태이다

여기서 python 3.6버전을 py36_32의 이름으로 설치할 것이다

conda create -n [가상환경이름] python=[파이썬버전] anaconda
# 맨 뒤쪽의 anaconda는 생략가능하다
Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

conda env list로 확인해본 결과 py36_32가 추가됨

Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

가상환경 활성화(conda생략가능)

conda activate [가상환경이름]
Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

py36_32 가상환경 활성화가 되어 (base)가 (py36_32)로 변경됨


3. 가상환경 정보 확인

Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

 프롬프트에서 python을 실행하여 py36_32환경에서 파이썬 버전 및 윈도우 비트를 확인해본 결과

파이썬버전: 3.6.13

윈도우: 32bit


4. 가상환경 제거

conda remove -n [가상환경이름] --all
Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong
Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong
Conda 가상환경 python 버전 변경 - conda gasanghwangyeong python beojeon byeongyeong

명령 실행 후 py36_32사라진것을 알 수 있다.