まずは丸パクリで動作確認から。のつもりが、またしても動かず。
経緯
参考
http://developer.hatena.ne.jp/
http://kiito.hatenablog.com/entry/2016/11/23/225729
http://karaage.hatenadiary.jp/entry/2016/01/25/073000
実行
参考先のコードを丸パクリして動作するか確認した。
xmltodict
$ python3 main.py Traceback (most recent call last): File "main.py", line 1, in <module> import xmltodict ImportError: No module named 'xmltodict'
$ pip3 install xmltodict Downloading/unpacking xmltodict Downloading xmltodict-0.10.2.tar.gz Running setup.py (path:/tmp/pip_build_mint/xmltodict/setup.py) egg_info for package xmltodict Installing collected packages: xmltodict Running setup.py install for xmltodict error: could not create '/usr/local/lib/python3.4/dist-packages/xmltodict.py': Permission denied Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_mint/xmltodict/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ea6_brx8-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib copying xmltodict.py -> build/lib running install_lib copying build/lib/xmltodict.py -> /usr/local/lib/python3.4/dist-packages error: could not create '/usr/local/lib/python3.4/dist-packages/xmltodict.py': Permission denied ---------------------------------------- Cleaning up... Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_mint/xmltodict/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ea6_brx8-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_mint/xmltodict Storing debug log for failure in /home/mint/.pip/pip.log
sudoをつけ忘れた。やり直すと成功。
$ sudo pip3 install xmltodict [sudo] password for mint: Downloading/unpacking xmltodict Downloading xmltodict-0.10.2.tar.gz Running setup.py (path:/tmp/pip_build_root/xmltodict/setup.py) egg_info for package xmltodict Installing collected packages: xmltodict Running setup.py install for xmltodict Successfully installed xmltodict Cleaning up...
requests_oauthlib
再度やってみるも今度はrequests_oauthlibが無いと言われる。
$ python3 main.py Traceback (most recent call last): File "main.py", line 3, in <module> from requests_oauthlib import OAuth1Session ImportError: No module named 'requests_oauthlib'
$ sudo pip3 install requests_oauthlib Downloading/unpacking requests-oauthlib Downloading requests_oauthlib-0.8.0-py2.py3-none-any.whl Downloading/unpacking oauthlib>=0.6.2 (from requests-oauthlib) Downloading oauthlib-2.0.1.tar.gz (122kB): 122kB downloaded Running setup.py (path:/tmp/pip_build_root/oauthlib/setup.py) egg_info for package oauthlib Requirement already satisfied (use --upgrade to upgrade): requests>=2.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib) Installing collected packages: requests-oauthlib, oauthlib Found existing installation: oauthlib 0.6.1 Not uninstalling oauthlib at /usr/lib/python3/dist-packages, owned by OS Running setup.py install for oauthlib Successfully installed requests-oauthlib oauthlib Cleaning up...
bs4
再度やってみるも今度はbs4が無いと言われる。
$ python3 main.py Traceback (most recent call last): File "main.py", line 4, in <module> from bs4 import BeautifulSoup ImportError: No module named 'bs4'
$ sudo pip3 install bs4 Downloading/unpacking bs4 Downloading bs4-0.0.1.tar.gz Running setup.py (path:/tmp/pip_build_root/bs4/setup.py) egg_info for package bs4 Downloading/unpacking beautifulsoup4 (from bs4) Downloading beautifulsoup4-4.5.3-py3-none-any.whl (85kB): 85kB downloaded Installing collected packages: bs4, beautifulsoup4 Running setup.py install for bs4 Successfully installed bs4 beautifulsoup4 Cleaning up...
Error
再度やってみるもエラーが出た。
python3 main.py Traceback (most recent call last): File "main.py", line 73, in <module> 'ytyaru', 'blogmake.hatenablog.com', '新しい記事だよ', '本文です。', draft=True) File "main.py", line 27, in post_entries res = self.client.post(url, data=xml) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 497, in post return self.request('POST', url, data=data, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 421, in request prep = self.prepare_request(req) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 359, in prepare_request hooks=merge_hooks(request.hooks, self.hooks), File "/usr/lib/python3/dist-packages/requests/models.py", line 291, in prepare self.prepare_auth(auth, url) File "/usr/lib/python3/dist-packages/requests/models.py", line 470, in prepare_auth r = auth(self) File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_auth.py", line 80, in __call__ unicode(r.url), unicode(r.method), r.body or '', r.headers) File "/usr/local/lib/python3.4/dist-packages/oauthlib/oauth1/rfc5849/__init__.py", line 276, in sign "Headers indicate a formencoded body but body was not decodable.") ValueError: Headers indicate a formencoded body but body was not decodable.
所感
一体いつになったら使えるの?つづきは次回にしよう。