python steemit 개발 시작 #2-2 WARNING:urllib3.connectionpool:Retrying error 발생 하는 경우

in #kr7 years ago (edited)

@recrack 입니다. 환경 설정은 다 하셨나요? 이글을 보고 계신다면 steem python 개발시 문제가 발생하였다고 생각이 드네요^^

WARNING:urllib3.connectionpool:Retrying 에러가 발생을 한다면, steem node와 connection이 제대로 이루어 지지 않아 발생하는 문제 입니다. $steempy nodes <node url>를 통해 해결이 가능합니다.

urllib3.connectionpool error

(venv3) ubuntu@ip-172-31-4-244:~/steemit$ python
Python 3.6.3 (default, Oct  6 2017, 08:44:35)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from steem import Steem
>>> user = Steem(keys=["/* KEY */"])
>>> from steem.blog import Blog
>>> blog = Blog("recrack")
WARNING:urllib3.connectionpool:Retrying (Retry(total=19, connect=None, read=None, redirect=0, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f1a27802ac8>: Failed to establish a new connection: [Errno -5] No address associated with hostname',)': /
WARNING:urllib3.connectionpool:Retrying (Retry(total=18, connect=None, read=None, redirect=0, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f1a27802ba8>: Failed to establish a new connection: [Errno -5] No address associated with hostname',)': /

다음과 같이 에러가 발생을 한다면 node 변경을 해야합니다.
node를 변경하는 방법은 다음과 같습니다. steem python 메뉴얼을 확인해보면 default는 https://steemd.steemit.com으로 되어있습니다. 이것을 https://api.steemit.com으로 변경해야 합니다.

$ steempy set nodes https://api.steemit.com

node 설정이 완료되면 아래와 같이 정상 동작 확인이 가능합니다.

(venv3) ubuntu@ip-172-31-4-244:~/steemit$ steempy set nodes https://api.steemit.com
(venv3) ubuntu@ip-172-31-4-244:~/steemit$ python
Python 3.6.3 (default, Oct  6 2017, 08:44:35)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from steem import Steem
>>> user = Steem(keys=["/* KEY */"])
>>> from steem.blog import Blog
>>> blog = Blog("recrack")
>>> post = next(blog)
>>> post_json = post.export()
>>> print (post_json)
{'patched': False, 'category': 'kr', 'root_identifier': '@recrack/john-mcafee-s-tweet-telegram-bot', 'identifier': '@recrack/john-mcafee-s-tweet-telegram-bot', 'id': 26784471, 'author': 'recrack', 'permlink': 'john-mcafee-s-tweet-telegram-bot', 'parent_author': '', 'parent_permlink': 'kr', 'title': "John McAfee's Tweet Telegram Bot. 맥아피 트윗봇", 'body': "안녕하세요. 맥아피 트윗봇을 만들었습니다.\n\n코인투자를 하게 되면 필연적으로 존 맥아피의 트위터를 알게 됩니다.\n요즘에는 덜하지만 맥아피 트윗을 통해 코인펌핑이 됩니다. 펌핑이 시작되면 최수 50%이상의 수익율을 달성하게 됩니다.\n(물론 펌핑되고 몇분안에 가라앉기도 합니다.)\n\n\n현재 테스트를 거쳐서 텔레그램봇을 하나 만들었습니다.\n\n목적 : 코인펌핑 미리알고 소소한 용돈 벌자!\n> Coin of the day\n> Coin of the week\n\n봇 동작방법\n> 맥아피 트윗에 Coin 이라는 글자가 있으면 무조건 텔레그램 그룹방에 전달되게 하였습니다.\n\nJohn McAfee's\n> Twitter : http://twitter.com/officialmcafee\n\nTelegram bot(Join link):  https://t.me/joinchat/AkV0mUcQiFDFb-E45sGlLA\n\n많은 도움이 되셨으면 합니다.", 'json_metadata': {'tags': ['kr', 'kr-writing', 'kr-newbie', 'kr-overseas', 'ourselves'], 'links': ['http://twitter.com/officialmcafee', 'https://t.me/joinchat/AkV0mUcQiFDFb-E45sGlLA'], 'app': 'steemit/0.1', 'format': 'markdown'}, 'last_update': datetime.datetime(2018, 1, 20, 8, 9, 45), 'created': datetime.datetime(2018, 1, 20, 7, 6, 12), 'active': datetime.datetime(2018, 1, 20, 8, 9, 45), 'last_payout': datetime.datetime(1970, 1, 1, 0, 0), 'depth': 0, 'children': 0, 'net_rshares': 0, 'abs_rshares': 614473171, 'vote_rshares': 614473171, 'children_abs_rshares': 614473171, 'cashout_time': datetime.datetime(2018, 1, 27, 7, 6, 12), 'max_cashout_time': datetime.datetime(1969, 12, 31, 23, 59, 59), 'total_vote_weight': 25760, 'reward_weight': 10000, 'total_payout_value': {'amount': 0.0, 'asset': 'SBD'}, 'curator_payout_value': {'amount': 0.0, 'asset': 'SBD'}, 'author_rewards': 0, 'net_votes': 0, 'root_comment': 26784471, 'max_accepted_payout': {'amount': 1000000.0, 'asset': 'SBD'}, 'percent_steem_dollars': 10000, 'allow_replies': True, 'allow_votes': True, 'allow_curation_rewards': True, 'beneficiaries': [], 'url': '/kr/@recrack/john-mcafee-s-tweet-telegram-bot', 'root_title': "John McAfee's Tweet Telegram Bot. 맥아피 트윗봇", 'pending_payout_value': {'amount': 0.0, 'asset': 'SBD'}, 'total_pending_payout_value': {'amount': 0.0, 'asset': 'STEEM'}, 'active_votes': [{'voter': 'recrack', 'weight': 0, 'rshares': 0, 'percent': 0, 'reputation': 0, 'time': '2018-01-20T07:34:21'}], 'replies': [], 'author_reputation': 0, 'promoted': {'amount': 0.0, 'asset': 'SBD'}, 'body_length': 0, 'reblogged_by': [], 'tags': ('kr', 'kr', 'kr-writing', 'kr-newbie', 'kr-overseas', 'ourselves'), 'community': ''}

Steemit 개발 일기

Sort:  

steempy 실행 안되네요. 맥이 좀 이상한것 같습니다. 버추얼박스에 리눅스 올려서 다시 해봐야겠습니다.

에러 메세지랑 환경 공유해주시면, 제 MAC에서도 확인해볼게요!!

예를들어

  1. python 버전
  2. 발생 에러 메세지
    MAC이면 굳이 버추얼 박스에서 안해도 되거든요~

python 3.6.3 아나콘다로 깔았습니다.
steempy 자체가 실행 안됩니다.

$ steempy
Traceback (most recent call last):
File "/Users/bezzangi/anaconda3/bin/steempy", line 7, in <module>
steem.cli.legacy()
File "/Users/bezzangi/anaconda3/lib/python3.6/site-packages/steem/cli.py", line 83, in legacy
version=pkg_resources.require("steem")[0].version
File "/Users/bezzangi/anaconda3/lib/python3.6/site-packages/pkg_resources/init.py", line 981, in require
needed = self.resolve(parse_requirements(requirements))
File "/Users/bezzangi/anaconda3/lib/python3.6/site-packages/pkg_resources/init.py", line 872, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (toml 0.9.3 (/Users/bezzangi/anaconda3/lib/python3.6/site-packages), Requirement.parse('toml==0.9.3.1'), {'steem'})

해당 문제는 toml 버전 문제로 보입니다 해결해시려면 steem python package metadata 를 현재 설치된 toml버전으로 수정하시면 됩니다

steempy 돌리는데는 성공했는데 에러가 나네요.
$ steempy set node https://api.steemit.com
usage: steempy set [-h] {default_account,default_vote_weight,nodes} value
steempy set: error: argument key: invalid choice: 'node' (choose from 'default_account', 'default_vote_weight', 'nodes')

node => nodes 수정하니까 되네요
$ steempy set nodes https://api.steemit.com

steem-python 문서 살펴보고 있었는데, 마침 이 문제에 도달했었어요! 에러 해결 감사합니다 :)

도움이 되셨다니 다행이네요 ^^

역시 문제가 발생하면 먼저 그문제에 봉착한 분들이 있네요~ 감사합니다. 좋은 정보