Anaconda Installers를 활용한 파이썬 설치 및 개발환경 설정

반응형

오늘 Anaconda 3.8 64bit버젼을 다시 설치를 하게되었는데,

32bit env환경에서 PyQt5 를 설치할 수가 없었습니다.

결국 해결은 했습니다만, 저처럼 고생하실 분들을 위해서 미리 적어둡니다.

혹시, 여기서 저와 같이 고생하시는 분들에게 도움이 된다면 좋겠습니다.

 

설치 오류났던 환경은 다음과 같습니다.

Windows10환경은 64bit 환경이라, 64-bit용 Anaconda를 설치하여 Python을 설치를 하게됩니다.

현재 최종버젼이 3.8버젼이라서, 이 버젼을 다운받아 설치를 했습니다.

주식 API를 사용하기 위해서는 32bit 가상환경을 만들어야만 하기에,

파이썬 버젼 3.8에 맞춰 가상환경을 만들었습니다.

>python -m pip install --upgrade pip

>set CONDA_FORCE_32BIT=1
>conda create -n py38_32 python=3.8 anaconda
>activate py38_32

문제는 여기서 부터 발생한것 같습니다.

추가로 pyqt5를 설치했는데.. 제대로 설치가 되지 않고, 오류가 계속 발생했습니다.

>pip install pyqt5
>pip install mpl_finance

 

오류유형1)

Could not find a version that satisfies the requirement PyQt5-sip

오류유형2)

DLL load failed when importing PyQt5

 

결국, 파이썬 python=3.8 을 사용한것이 문제인가 싶어서, python=3.7을이용했더니,

오류가 없어졌습니다.

결국, 정리하자면,

32bit env환경에서 Python 3.8버젼은 PyQt5와 호환되지 않는것 같다는 결론입니다.

1. env 삭제
>conda env remove -n py38_32

2. 폴더삭제
   C:\ProgramData\Anaconda3\envs\py38_32

3. env다시 생성
>set CONDA_FORCE_32BIT=1
>conda create -n py37_32 python=3.7 anaconda
>activate py37_32
>conda env list

>pip install pyqt5
>pip install mpl_finance

 

위 작업들은 anaconda prompt를 사용하여 설치를 했습니다.

추가로, 현재 설치된 파이썬의 버젼을 확인해 보겠습니다.

(py37_32) C:\Windows\system32>python -V
Python 3.8.5

파이선이 설치되어 있는 위치 확인하기

반응형

댓글()

Python의 독립적인 가상 실행 환경(Environment)을 위한 Anaconda env 설정 방법

반응형

아나콘다 패키지로 설치한 후, conda 명령어를 이용해서 env를 생성/삭제 및 관리한다.

 

1. anaconda 64bit 설치

  https://www.anaconda.com/products/individual#download-section

 

Individual Edition | Anaconda

🐍 Open Source Anaconda Individual Edition is the world’s most popular Python distribution platform with over 20 million users worldwide. You can trust in our long-term commitment to supporting the Anaconda open-source ecosystem, the platform of choice

www.anaconda.com

 

python 3.7버젼 64bbit를 선택한다.

repo.anaconda.com/archive/Anaconda3-2020.02-Windows-x86_64.exe

주의: python 홈페이지에 가서 python을 다운받지 말자. Anaconda 설치를 하면 python이 자동으로 설치가 된다.

      이제 anaconda 홈페이지로 가서 다운을 받자. 64 bit 최신버전을 다운로드하도록 하자.

      https://youngjoongkwon.com/2018/01/26/windows-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-anaconda-tensorflow-%EC%84%A4%EC%B9%98%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0-no-module-named-tensorflow-%EC%97%90%EB%9F%AC/

 

Windows 환경에서 Anaconda + Tensorflow 설치문제 해결하기 (No module named ‘tensorflow’ 에러 해결법)

python을 따로 설치한 다음 anaconda를 설치하고, tensorflow를 설치했다가 No module named ‘tensorflow’ 에러가 떴다. 물론 tensorflow는 실행할 수 없었다. 검색을 해보니 나와 비슷한 문제를 겪고있는 사람��

youngjoongkwon.com

 

2. Anaconda Prompt 실행

python version이 3.7.6임을 확인한다.

  tenserflow가 3.8버젼을 지원하지 않습니다. 3.7버젼도 3.7.6 안전한 검증된 버젼으로 설치를 권장합니다.

  (추가)

  anaconda 64bit 설치후, 제일 먼저 해주세요..
  >python -m pip install --upgrade pip

3. Python 3.8(최신) 버전의 ‘py38_32’라는 이름으로 32bit용 env를 생성합니다. 

   (키움과 같은 주식 API는 아직 32bit만 지원하므로, 32bit 가상환경을 별도로 만들어야 합니다.)

>set CONDA_FORCE_32BIT=1
>conda create -n py37_32 python=3.7 anaconda
>activate py37_32
>conda env list

4. 추가적으로 64bit용 가상환경도 별도설치하여 향후 64bit환경 개발시 사용하도록 한다.

>conda deactivate

>set CONDA_FORCE_64BIT=1
>conda create -n py38_64 python=3.8 anaconda
>activate py38_64

>pip install tensorflow  

   * Python을 anaconda에서 설치한 버젼과 달리, 별도로 설치할 경우,

     tensorflow가 설치되지 않습니다. 주의해 주세요~

5. Anaconda에서 생성한 env환경을 확인합니다. 

 

6. 가상환경 제거하기

>conda remove -n py37_32 --all

>conda remove -n py38_64 --all

 

7. 최신버젼의 tensorflow를 설치한다.

>pip install tensorflow
or 
>py -m pip install tensorflow
or
>python -m pip install --user --upgrade pip
반응형

댓글()

UnicodeDecodeError: 'utf-8' codec can't decode byte

AI빅데이터|2020. 3. 15. 10:18
반응형

다음과 같이 subprocess에서 받아온 값에 한글이 포함될 경우,

Abaconda prompt에서 py를 실행할 경우, 제목과 같은 오류가 발생한다.

 

<코드>

RLTrader = subprocess.Popen([envPath, exeFilePath], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, creationflags=subprocess_flags)
(stdout, stderr) = RLTrader.communicate(input=transData)
print("aftershock" + str(stdout))
RLTrader_results = stdout
RLTrader_results02 = RLTrader_results.decode()

 

<실행결과>

aftershockb'\xb0\xfc\xb8\xc1&&&0\r\n'
Traceback (most recent call last):
  File "pytrader4.py", line 517, in 
    SH.Start_of_RLTrader()
  File "pytrader4.py", line 294, in Start_of_RLTrader
    self.Requirement_of_current()
  File "pytrader4.py", line 425, in Requirement_of_current
    RLTrader_results02 = RLTrader_results.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte

 

 

RLTrader = subprocess.Popen([envPath, exeFilePath], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, creationflags=subprocess_flags)
(stdout, stderr) = RLTrader.communicate(input=transData)
print("aftershock" + str(stdout))
RLTrader_results = stdout 
RLTrader_results02 = RLTrader_results.decode(encoding='CP949')

 

이렇게 수정해 주니, 에러가 없어졌네요..

반응형

댓글()