안녕하세요, 사과농축액🍎입니다.
님의 steem-python에 대한 열정이 대단하셔서 조금이나마 도움이 되고자 이 글을 적습니다.
이 글은 Windows10에 steem-python 설치에 대한 내용입니다.
- kr-dev#1. @asbear님의 "비개발자가 steemit 주무르기(1)" 직접 따라가 봅니다~
- kr-dev#2. 비개발자가 steemit 주무르기(2) / ubuntu with python (by @asbear)
Windows10에 python-steem을 설치 하는 과정을 총 5단계로 나누어지며 가장 어려운 부분이 Visual C++ 2015 Build Tools 설치 시간을 기다리를 것이므로 이 글을 따라하면 누구나 python-steem설치를 완료 할 수 있을것이라 생각 됩니다.
설치 순서는 아래 와 같습니다.
- python 설치
- steem 패키지설치
- random 모듈 수정
- funcy 다운 그레이드
- scrypt 모듈 pyscrypt 모듈로 변경
STEEP1. python 설치
https://www.python.org/downloads/ 로 접속 하셔서 Python 3.5.* x86 버전을 다운로드 합니다.
해당 링크를 이용하면 바로 다운 받으실수 있습니다. 다운로드
⚠️ x86-64 버전을 설치하시면 안됩니다. 꼭 x86버전으로 다운로드 해주세요
설치 경로는 계속 필요하니 기억해 주세요
⚠️ Add Python 3.5 to PATH 는 꼭 체크해주세요
설치가 완료 된 후 "명령 프롬프트" 혹은 "Windows PowerShell"을 이용하여 python을 실행합니다.(이 글에서는 "Windows PowerShell"을 이용합니다.)
위와 같은 화면이 나온다면 설치가 완료 된 것입니다.
STEEP2. steem 패키지설치
Ctrl+C 키를 이용하여 python을 종료해주시고 steem 패키지를 설치하겠습니다.
"Windows PowerShell"에서 아래 명령어를 입력해주세요
pip install steem
만약 설치중 아래와 같은 에러가 발생한다면 링크로 이동하여 Visual C++ 2015 Build Tools 를 설치해 주세요. 혹시 visual studio 2015가 설치되어있음에도 불구하고 동일한 에러가 발생하는 경우에는 링크 내용을 확인해주세요. visual studio 2015 기본 설치 설정에 c++이 제외되어있어 발생하는 문제입니다.
설치 완료후 다시 "Windows PowerShell"에서 아래 명령어를 입력해주세요
pip install steem
위와 같은 화면이 나온다면 설치가 완료 된 것입니다.
STEEP3. random 모듈 수정
다시 python을 실행합니다.
steem 모듈을 로딩해 봅시다.
>>> from steem.post import Post
아마도 아래와 같은 에러가 발생할겁니다.
위의 로그를 자세히 보면 nt.py에서 winrandom이라는 모듈을 불러오지 못하여 발생하는 문제입니다.
[python설치폴더]\lib\site-packages\Crypto\Random\OSRNG\nt.py 파일의 수정이 필요합니다.
만약 설치 폴더를 변경하지 않으셨다면 탐색기 주소줄에 "%AppData%\..\Local\Programs\Python\Python35-32\lib\site-packages\Crypto\Random\OSRNG" 해당 경로를 입력하면 바로 이동이 가능할것 입니다.
nt.py LINE:28
import winrandom
을
from . import winrandom
이렇게 변경해 줍니다.
⚠️ "from . "가 추가 되는것 입니다. 띄어쓰기 주의
STEEP4. funcy 다운 그레이드
winrandom 모듈 수정 후 다시 steem 모듈을 로딩해 봅시다.
>>> from steem.post import Post
아마도 아래와 같은 에러가 발생할겁니다.
로그를 자세히 보면 funcy.simple_funcs 모듈을 불러오지 못하여 발생하는 문제입니다.
이번에는 이전과 달리 funcy페키지의 버전 문제인데요
기존 1.9.* 버전에서 1.8 버전으로 다운그레이드를 진행하겠습니다.
먼저 기존 funcy 페키지를 삭제합니다.
"Windows PowerShell"에서 아래 명령어를 입력해주세요
pip uninstall funcy
삭제가 완료 되면 funcy 1.8 페키지를 설치해 줍니다.
pip install funcy==1.8
STEEP5. scrypt 모듈 pyscrypt 모듈로 변경
드디어 마지막 과정입니다.
funcy 페키지 다운그레이드 후 다시 steem 모듈을 로딩해 봅시다.
>>> from steem.post import Post
아마도 아래와 같은 에러가 발생할겁니다.
로그를 자세히 보면 scrypt 라이브러리를 불러오지 못하여 발생하는 문제인데요
[python설치폴더]\lib\site-packages\steembase\bip38.py 파일의 수정이 필요합니다.
만약 설치 폴더를 변경하지 않으셨다면 탐색기 주소줄에 "%AppData%\..\Local\Programs\Python\Python35-32\lib\site-packages\steembase" 해당 경로를 입력하면 바로 이동이 가능할것 입니다.
bip38.py LINE:18
import scrypt
을
import pyscrypt
이렇게 변경해 줍니다.
이제 모든 준비가 완료 되었습니다.
>>> from steem.post import Post
>>> p = Post("@lindaflyhigh/3zhmuz")
>>> dict(p)
부디 님 께서도 성공하셨으면 합니다.
제가 vmware에 windows10을 새로 설치하고 작성한 글이라 정상동작 될것이라 생각 됩니다.
긴 글 읽어주셔서 감사합니다^^