LoginSignup
2
2

More than 5 years have passed since last update.

pykintone on Windows Subsystem for Linux

Posted at

kintone 用 Python ライブラリの pykintone を Windows Subsystem for Linux で試してみた。
pip3 で pykintone をインストールすると使用できる。

pykintone 使用環境の準備

  • pip3 のインストール
  • pykintone のインストール

Windows Subsystem for Linux の Python 環境

下記が標準でインストールされている。

python : python2.7
python3 : python3.4

rex0220@EDGE-E470:~$ ll /usr/bin/python*
lrwxrwxrwx 1 root root       9 12月 21  2013 /usr/bin/python -> python2.7*
lrwxrwxrwx 1 root root       9 12月 21  2013 /usr/bin/python2 -> python2.7*
-rwxr-xr-x 1 root root     975  1月  2  2014 /usr/bin/python2-jsondiff*
-rwxr-xr-x 1 root root    1080  1月  2  2014 /usr/bin/python2-jsonpatch*
-rwxr-xr-x 1 root root 3345416  6月 23  2015 /usr/bin/python2.7*
lrwxrwxrwx 1 root root       9  3月 23  2014 /usr/bin/python3 -> python3.4*
lrwxrwxrwx 1 root root      16  3月 23  2014 /usr/bin/python3-config -> python3.4-config*
-rwxr-xr-x 2 root root 3693624 11月 17 11:31 /usr/bin/python3.4*
lrwxrwxrwx 1 root root      33 11月 17 11:31 /usr/bin/python3.4-config -> x86_64-linux-gnu-python3.4-config*
-rwxr-xr-x 2 root root 3693624 11月 17 11:31 /usr/bin/python3.4m*
lrwxrwxrwx 1 root root      34 11月 17 11:31 /usr/bin/python3.4m-config -> x86_64-linux-gnu-python3.4m-config*
lrwxrwxrwx 1 root root      10  3月 23  2014 /usr/bin/python3m -> python3.4m*
lrwxrwxrwx 1 root root      17  3月 23  2014 /usr/bin/python3m-config -> python3.4m-config*

pip3 のインストール

pip3 (Pythonのパッケージ管理システム) は、インストールされていないので、インストール。

sudo apt-get install python3-pip
パッケージリストを読み込んでいます... 完了0%
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
...
python3-pip (1.5.4-1ubuntu4) を設定しています ...
python3-wheel (0.24.0-1~ubuntu1) を設定しています ...
libc-bin (2.19-0ubuntu6.9) のトリガを処理しています ...
which pip3
/usr/bin/pip3

pykintone のインストール

sudo pip3 install pykintone

Downloading/unpacking pykintone
  Downloading pykintone-0.3.9.zip
  Running setup.py (path:/tmp/pip_build_root/pykintone/setup.py) egg_info for package pykintone

Downloading/unpacking PyYAML (from pykintone)
  Downloading PyYAML-3.12.tar.gz (253kB): 253kB downloaded
  Running setup.py (path:/tmp/pip_build_root/PyYAML/setup.py) egg_info for package PyYAML

Requirement already satisfied (use --upgrade to upgrade): requests in /usr/lib/python3/dist-packages (from pykintone)
Downloading/unpacking pytz (from pykintone)
  Downloading pytz-2016.10-py2.py3-none-any.whl (483kB): 483kB downloaded
Downloading/unpacking tzlocal (from pykintone)
  Downloading tzlocal-1.3.tar.gz
  Running setup.py (path:/tmp/pip_build_root/tzlocal/setup.py) egg_info for package tzlocal

Installing collected packages: pykintone, PyYAML, pytz, tzlocal
  Running setup.py install for pykintone

  Running setup.py install for PyYAML
    checking if libyaml is compilable
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.4m -c build/temp.linux-x86_64-3.4/check_libyaml.c -o build/temp.linux-x86_64-3.4/check_libyaml.o
    build/temp.linux-x86_64-3.4/check_libyaml.c:2:18: fatal error: yaml.h: そのようなファイルやディレクトリはありません
     #include <yaml.h>
                      ^
    compilation terminated.

    libyaml is not found or a compiler error: forcing --without-libyaml
    (if libyaml is installed correctly, you may need to
     specify the option --include-dirs or uncomment and
     modify the parameter include_dirs in setup.cfg)

  Running setup.py install for tzlocal

Successfully installed pykintone PyYAML pytz tzlocal
Cleaning up...

レコード取得スクリプト作成

サンプルに従い、レコード取得スクリプト作成。

getRec1.py

import pykintone
r = pykintone.app("kintoneドメイン", "APPID", "APIトークン").select("")
if r.ok:
        records = r.records
        print(records)
else:
        print(r.error)

レコード取得スクリプト実行

レコードが取得され、標準出力に表示された。

python3 getRec1.py
[{'作成者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'CREATOR'}, '文字列A': {'value': 'B02A', 'type': 'SINGLE_LINE_TEXT'}, '作成日時': {'value': '2017-01-26T15:47:00Z', 'type': 'CREATED_TIME'}, '文字列B': {'value': 'B02B', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_3': {'value': 'B02C', 'type': 'SINGLE_LINE_TEXT'}, '更新者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'MODIFIER'}, '文字列2_2': {'value': 'B02B', 'type': 'SINGLE_LINE_TEXT'}, 'レコード番号': {'value': '2', 'type': 'RECORD_NUMBER'}, '文字列1_1': {'value': 'A02A', 'type': 'SINGLE_LINE_TEXT'}, '更新日時': {'value': '2017-01-26T23:49:00Z', 'type': 'UPDATED_TIME'}, 'ルックアップA': {'value': 'A02', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_3': {'value': 'A02C', 'type': 'SINGLE_LINE_TEXT'}, 'ID': {'value': 'jj', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_4': {'value': 'A02D', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_2': {'value': 'A02B', 'type': 'SINGLE_LINE_TEXT'}, '$revision': {'value': '4', 'type': '__REVISION__'}, '文字列2_4': {'value': 'B02', 'type': 'SINGLE_LINE_TEXT'}, '$id': {'value': '2', 'type': '__ID__'}, '文字列C': {'value': 'B02C', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_1': {'value': 'B02A', 'type': 'SINGLE_LINE_TEXT'}, 'ルックアップB': {'value': 'B02', 'type': 'SINGLE_LINE_TEXT'}, '文字列D': {'value': 'B02', 'type': 'SINGLE_LINE_TEXT'}}, {'作成者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'CREATOR'}, '文字列A': {'value': 'B01A', 'type': 'SINGLE_LINE_TEXT'}, '作成日時': {'value': '2017-01-26T12:06:00Z', 'type': 'CREATED_TIME'}, '文字列B': {'value': 'B01B', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_3': {'value': 'B01C', 'type': 'SINGLE_LINE_TEXT'}, '更新者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'MODIFIER'}, '文字列2_2': {'value': 'B01B', 'type': 'SINGLE_LINE_TEXT'}, 'レコード番号': {'value': '1', 'type': 'RECORD_NUMBER'}, '文字列1_1': {'value': 'A01A', 'type': 'SINGLE_LINE_TEXT'}, '更新日時': {'value': '2017-01-26T12:06:00Z', 'type': 'UPDATED_TIME'}, 'ルックアップA': {'value': 'A01', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_3': {'value': 'A01C', 'type': 'SINGLE_LINE_TEXT'}, 'ID': {'value': 'C01', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_4': {'value': 'A01D', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_2': {'value': 'A01B', 'type': 'SINGLE_LINE_TEXT'}, '$revision': {'value': '1', 'type': '__REVISION__'}, '文字列2_4': {'value': 'B01D', 'type': 'SINGLE_LINE_TEXT'}, '$id': {'value': '1', 'type': '__ID__'}, '文字列C': {'value': 'B01C', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_1': {'value': 'B01A', 'type': 'SINGLE_LINE_TEXT'}, 'ルックアップB': {'value': 'B01', 'type': 'SINGLE_LINE_TEXT'}, '文字列D': {'value': 'B01D', 'type': 'SINGLE_LINE_TEXT'}}]
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2