안녕하세요, 사과농축액🍎입니다.
@skt1님의 steem-python에 대한 열정이 대단하셔서 조금이나마 도움이 되고자 이 글을 적습니다.
이 글은 Windows10에 steem-python 설치에 대한 내용입니다.
@asbear님의 강의 원글
@skt1님의 실습글
- 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)
부디 @skt1님 께서도 성공하셨으면 합니다.
제가 vmware에 windows10을 새로 설치하고 작성한 글이라 정상동작 될것이라 생각 됩니다.
긴 글 읽어주셔서 감사합니다^^
Cheer Up!
헐 이렇게 대박 팁을 알려주시다니요!! 윈도우에서 개발하는 제게 완전 꿀팁입니다. 완전 감사해요 ㅜㅜ 잘 쓰겠습니다. 리스팀해가요!
꿀팁이 되었다니 기분이 좋네요. 리스팀도 감사합니다^^
안녕하세요 @idas4you님! ㅇㅁㅇ 아직 저에겐 너무어려운 말들이네요ㅜㅇㅜ 먼지는 잘몰라도 되게유용한 포스팅 같아요!
그렇;;;; 제가 생각해도 어려운 이야기에요;;;
헤헤ㅇㅁㅇ 넘나어려버여!
역시 고수십니다!! 저도 제 윈도우에 비슷한 과정으로 설치를 했는데 비개발자분들께 이걸 따라하라고 할수가 없어서 SteemJS로 바꿨는데... ㅎㅎㅎ idas4you 님의 친절한 매뉴얼덕분에 Steempy사용자가 늘어나길 기대해 봅니다.. ^^
고수는 곰처럼 님이시죠^^; 개인적으로 javaScript보다 python이 더 좋기는한데 npm이 엄청나 SteemJS을 추천하게 되네요.
저도 따라 해보다가 저기 스텝2의 뻘건~ 에러보고 접었는데 틈 날 때 다시 시도해 봐야겠네요. ㅋㅋ
감사합니다- ^^
꼭 성공하시기를 바랍니다.
흐메.. 너무 감사합니다..
미약하나마 풀봇으로 감사의 표현을 드려봅니다.
풀봇 감사합니다. vmWare설치 열정에 감동해서 저도 vmWare를 설치해 버렸네요^^
두 눈으로 보고 있으면서도 장님이네요. ㅠ
이런 어려운 것들은 잘 하시는 분들만 하는걸로... 저는 보팅만 하는걸로.. ㅎ
음. 어렵다기 보다는 어색한것이 겠지요. 각자 익숙한 분야가 있는거잔아요^^
뭔가 좋은 글인것 같아서 일단 라이크(ㅋ) 누릅니당. 근데.. 저... 이거 뭔가요? 도스화면에러 났을 때 같은데.,,
좋은 글 감사합니다. win7에서 설치 중인데 계속 아래와 같은 에러가 나옵니다. visual studio 설치했고, c++ option도 사용 중입니다. 혹시 원인을 알 수 있을까요?
이미지만 봐서는 원인을 모르겠네요. 파이썬 버전이 3.6인것이 신경쓰이긴 합니다^^;;
3.6 버전에서는 설치가 안되었던것 같아요.
3.5에서 설치를 하니 3.6에서 하라고 나와서 변경하였는데요? 3.5에서도 되나보군요. 3.5에서 다시 한번 해 볼께요. 답신 감사합니다.
그럼 디펜던시 때문에 버전이 안 맞는것 같네요. 3.6에서 설치 가능한지 다시 테스트해 봐야 겠습니다^^;;
3.6 설치 하라 해놓고 @tradingideas 님이랑 같은 에러 나네요.
이거야원~ ㅋㅋ
제가 얼마전에 다시 설채히보니 3.5에서 설치 가능하더라고요. OS에 따라 차이가 있는것 같습니다.
전3.5로 하고 저 에러가 나는데...해결방법을 아시나요?