MySQL: JSON_OBJECT: JSON文字列フィールドを含む時のバックスラッシュ問題

how to replace double back slash character to single one from MySQL JSON_OBJECT function results for column including JSON string You can use the MySQL function REPLACE() to replace double backslashes with single backslashes in a JSON object. Here’s an example: 1 SELECT REPLACE(JSON_OBJECT(column_name), '\\\\\\\\', '\\\\') FROM table_name; This will return the column values with double backslashes replaced with single backslashes. If you want to insert a JSON object literal with single backslashes instead of double backslashes, you can set the NO_BACKSLASH_ESCAPES SQL mode⁴. When this mode is set, a single backslash instead of double backslashes can be used to insert the JSON object literal, and the backslashes are preserved⁴. If you use the JSON_OBJECT() function when performing the insert and this mode is set, you must alternate single and double quotes⁴. ...

2023年3月28日 · 2 分

Django:OpenAPI(Swagger) Scheme を出力して Pydatic クラスを生成できるようにする

DRF: コマンドでShemaを生成する 1 pip install datamodel-code-generator ProfileSerializer(ModelSerializer)から Pydanticモデルを生成する 1 python manage.py generateschema --format openapi-json | jq ".components.schemas.Profile" | datamodel-codegen --output /tmp/model.py

2023年3月24日 · 1 分

Google Spreadsheet を TSVファイルに落とす

gsheet.py Googleスプレッドシートのダウンロード メインオプション Usage: gsheet.py [OPTIONS] COMMAND [ARGS]... Tools Subcommand Options: -s, --secret_file TEXT クレデンシャルJSONファイル -o, --out TEXT --help Show this message and exit. Commands: extract URLのシートは クレデンシャルJSONの client_email に対して共有設定すること extract サブコマンド: Usage: gsheet.py extract [OPTIONS] URL URLのシートは クレデンシャルJSONの client_email に対して共有設定すること Options: -n, --sheet_name TEXT --help Show this message and exit. インストール 1 pip install click gspread google-auth-httplib2 oauth2client クレデンシャルJSONの作り方: https://note.com/kohaku935/n/ned9e907aac77 GCPでプロジェクト作成 (https://console.cloud.google.com/) APIとサービス > ライブラリ から Google Drive API を有効 APIとサービス > ライブラリ から Google Sheets AP Iを有効 APIとサービス > 認証情報 > 認証情報を作成 でサービスアカウント を作成 サービスアカウント に 編集者 ロールを設定 APIとサービス > 認証情報 > 作成した サービスアカウント を選択し、キー の生成 キー画面で、鍵を追加 。 新しい鍵を作成 で作成。 タイプにJSONを選択。 ダウンロードされたJSONを適切な場所に保存

2023年3月18日 · 1 分

Snowfake: ビュー

Snowflake View ビューの概要 CREATE VIEW マテリアライズドビュー(Enterprise Edition) マテリアライズドビューの使用 ベーステーブルで実行された DML の量に関係なく、マテリアライズドビューを介してアクセスされるデータは常に最新です。 マテリアライズドビューが最新になる前にクエリが実行されると、Snowflakeはマテリアライズドビューを更新するか、 マテリアライズドビューの最新部分を使用して、必要な新しいデータをベーステーブルから取得します。 CREATE MATERIALIZED VIEW ビューとマテリアライズド・ビューの違いを理解する Snowflake マテリアライズドビューについて SnowflakeのMaterialized View マテリアライズドビューとそのベーステーブルをクラスタリングするためのベストプラクティス PostgreSQL マテリアライズドビューの機能(PostgreSQL) マテリアライズドビューの内容をテーブルの最新の状態と同じにしたいときには、REFRESH MATERIALIZED VIEWを実行します MySQL MySQLでMaterialized Viewを実現する 残念ながら、MySQLではデフォルトでMaterialized Viewを作る機能は存在しません。 トリガーかバッチで参照用のテーブルを作る

2023年3月18日 · 1 分

Snowfale : MySQL 移行データ比較

MySQL -> Snowflake データ移行後の比較 対象フィールド型(Python) 集計 MySQL Snowflake 補足 Decimal 単純合計 SUM(field) SUM(field) float 単純合計 SUM(field) SUM(field) int 単純合計 SUM(field) SUM(field) str MD5の合計 SUM(CONV(SUBSTRING(MD5(field)), 1, 8), 16, 10) SUM(TO_NUMBER(SUBSTR(MD5(field), 1, 8), ‘XXXXXXXX’)) MySQLの整数が小さいので先頭8バイトだけ datetime Unixエポック合計 SUM(UNIX_TIMESTAMP(field)) SUM(ZEROIFNULL(DATE_PART(EPOCH_SECOND, field)) - 32400) Snowflakeはローカルタイムゾーン date Unixエポック合計 SUM(UNIX_TIMESTAMP(field)) SUM(ZEROIFNULL(DATE_PART(EPOCH_SECOND, field)) - 32400) Snowflakeはローカルタイムゾーン time 秒数の合計 SUM(TIME_TO_SEC(field)) SUM(TIMEDIFF(SECOND, ‘00:00:00’::TIME, field::TIME))

2023年3月17日 · 1 分

Snowflake: NDJSON format

CREATE FILE FORMAT https://docs.snowflake.com/ja/sql-reference/sql/create-file-format JSON https://docs.snowflake.com/ja/sql-reference/sql/create-file-format#type-json -- If TYPE = JSON COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE DATE_FORMAT = '<string>' | AUTO TIME_FORMAT = '<string>' | AUTO TIMESTAMP_FORMAT = '<string>' | AUTO BINARY_FORMAT = HEX | BASE64 | UTF8 TRIM_SPACE = TRUE | FALSE NULL_IF = ( '<string>' [ , '<string>' ... ] ) FILE_EXTENSION = '<string>' ENABLE_OCTAL = TRUE | FALSE ALLOW_DUPLICATE = TRUE | FALSE STRIP_OUTER_ARRAY = TRUE | FALSE STRIP_NULL_VALUES = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE IGNORE_UTF8_ERRORS = TRUE | FALSE SKIP_BYTE_ORDER_MARK = TRUE | FALSE

2023年2月14日 · 1 分

cairocffi

結局 x86_64 でhomebrew 作り直し anyenv, python を入れ直し https://qiita.com/ktgw0316/items/b5358a471ae9ee84f771 arch -arch x86_64 zsh で x86_64 環境で作業する % uname -m x86_64 問題 % pip install cairocffi lCollecting cairocffi Downloading cairocffi-1.2.0.tar.gz (70 kB) ( |████████████████████████████████| 70 kB 5.4 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-952byczr cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure 9 Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/84/ca/0bffed5116d21251469df200448667e90acaa5131edea869b44a3fbc73d0/cairocffi-1.2.0.tar.gz#sha256=9a979b500c64c8179fec286f337e8fe644eca2f2cd05860ce0b62d25f22ea14 0 (from https://pypi.org/simple/cairocffi/) (requires-python:>=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.1.0.tar.gz (68 kB) |████████████████████████████████| 68 kB 41.2 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-2h4amr27 cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/f7/99/b3a2c6393563ccbe081ffcceb359ec27a6227792c5169604c1bd8128031a/cairocffi-1.1.0.tar.gz#sha256=f1c0c5878f74ac9ccb5d48b2601fcc75390c881ce476e79f4cfedd288b1b05d b (from https://pypi.org/simple/cairocffi/) (requires-python:>= 3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.0.2.tar.gz (68 kB) [24/677] |████████████████████████████████| 68 kB 46.3 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-wdq78cuo cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/0f/0f/7e21b5ddd31b610e46a879c0d21e222dd0fef428c1fc86bbd2bd57fed8a7/cairocffi-1.0.2.tar.gz#sha256=01ac51ae12c4324ca5809ce270f9dd1b67f5166fe63bd3e497e9ea3ca91946f f (from https://pypi.org/simple/cairocffi/) (requires-python:>= 3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.0.1.tar.gz (68 kB) |████████████████████████████████| 68 kB 48.1 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-d6t_qnin cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/3e/f1/0d1dad825f6ec75d3d79d5673e7b836e7a23bf57fde0028fb8bf252d4259/cairocffi-1.0.1.tar.gz#sha256=9ca49d9bb0a52bd6a8263de137b4818e0889f3cd8d933165fb122669924ae3b 9 (from https://pypi.org/simple/cairocffi/) (requires-python:>= 3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.0.0-py3-none-any.whl (88 kB) |████████████████████████████████| 88 kB 52.9 MB/s Requirement already satisfied: cffi>=1.1.0 in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages (from cairocffi) (1.14.5) Requirement already satisfied: pycparser in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages (from cffi>=1.1.0->cairocffi) (2.20) Installing collected packages: cairocffi Successfully installed cairocffi-1.0.0

2021年8月27日 · 5 分

pyenv install 3.9.6

% pyenv install 3.9.6 python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.9.6.tar.xz... -> https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz Installing Python-3.9.6... python-build: use readline from homebrew python-build: use zlib from xcode sdk WARNING: The Python readline extension was not compiled. Missing the GNU readline lib? ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? Please consult to the Wiki page to fix the problem. https://github.com/pyenv/pyenv/wiki/Common-build-problems BUILD FAILED (OS X 11.5.2 using python-build 2.0.5-2-gb2eb2d28) Inspect or clean up the working tree at /var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/python-build.20210827141959.69396 Results logged to /var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/python-build.20210827141959.69396.log Last 10 log lines: ./python.exe -E -m ensurepip \ $ensurepip --root=/ ; \ fi Looking in links: /var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/tmp24q45onf Processing /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/tmp24q45onf/setuptools-56.0.0-py3-none-any.whl Processing /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/tmp24q45onf/pip-21.1.3-py3-none-any.whl Installing collected packages: setuptools, pip WARNING: The scripts pip3 and pip3.9 are installed in '/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-21.1.3 setuptools-56.0.0

2021年8月27日 · 1 分

Homebrew Applie Silicon

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ==> Checking for `sudo` access (which may request your password). ==> This script will install: /opt/homebrew/bin/brew /opt/homebrew/share/doc/homebrew /opt/homebrew/share/man/man1/brew.1 /opt/homebrew/share/zsh/site-functions/_brew /opt/homebrew/etc/bash_completion.d/brew /opt/homebrew ==> The following new directories will be created: /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks Press RETURN to continue or any other key to abort ==> /usr/bin/sudo /bin/mkdir -p /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /bin/chmod u=rwx,g=rwx /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /bin/chmod g-w,o-w /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions ==> /usr/bin/sudo /usr/sbin/chown hdknr /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /usr/bin/chgrp admin /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /usr/sbin/chown -R hdknr:admin /opt/homebrew ==> Downloading and installing Homebrew... remote: Enumerating objects: 189971, done. remote: Counting objects: 100% (44/44), done. remote: Compressing objects: 100% (44/44), done. remote: Total 189971 (delta 0), reused 44 (delta 0), pack-reused 189927 Receiving objects: 100% (189971/189971), 51.67 MiB | 5.76 MiB/s, done. Resolving deltas: 100% (140767/140767), done. From https://github.com/Homebrew/brew * [new branch] automerge-linux -> origin/automerge-linux * [new branch] dependabot/bundler/Library/Homebrew/mechanize-2.8.2 -> origin/dependabot/bundler/Library/Homebrew/mechanize-2.8.2 * [new branch] dependabot/bundler/Library/Homebrew/mini_portile2-2.6.1 -> origin/dependabot/bundler/Library/Homebrew/mini_portile2-2.6.1 * [new branch] dependabot/bundler/Library/Homebrew/nokogiri-1.12.3 -> origin/dependabot/bundler/Library/Homebrew/nokogiri-1.12.3 * [new branch] master -> origin/master * [new tag] 0.1 -> 0.1 * [new tag] 0.2 -> 0.2 * [new tag] 0.3 -> 0.3 * [new tag] 0.4 -> 0.4 * [new tag] 0.5 -> 0.5 * [new tag] 0.6 -> 0.6 * [new tag] 0.7 -> 0.7 * [new tag] 0.7.1 -> 0.7.1 * [new tag] 0.8 -> 0.8 * [new tag] 0.8.1 -> 0.8.1 * [new tag] 0.9 -> 0.9 * [new tag] 0.9.1 -> 0.9.1 * [new tag] 0.9.2 -> 0.9.2 * [new tag] 0.9.3 -> 0.9.3 * [new tag] 0.9.4 -> 0.9.4 * [new tag] 0.9.5 -> 0.9.5 * [new tag] 0.9.8 -> 0.9.8 * [new tag] 0.9.9 -> 0.9.9 * [new tag] 1.0.0 -> 1.0.0 * [new tag] 1.0.1 -> 1.0.1 * [new tag] 1.0.2 -> 1.0.2 * [new tag] 1.0.3 -> 1.0.3 * [new tag] 1.0.4 -> 1.0.4 * [new tag] 1.0.5 -> 1.0.5 * [new tag] 1.0.6 -> 1.0.6 * [new tag] 1.0.7 -> 1.0.7 * [new tag] 1.0.8 -> 1.0.8 * [new tag] 1.0.9 -> 1.0.9 * [new tag] 1.1.0 -> 1.1.0 * [new tag] 1.1.1 -> 1.1.1 * [new tag] 1.1.10 -> 1.1.10 * [new tag] 1.1.11 -> 1.1.11 * [new tag] 1.1.12 -> 1.1.12 * [new tag] 1.1.13 -> 1.1.13 * [new tag] 1.1.2 -> 1.1.2 * [new tag] 1.1.3 -> 1.1.3 * [new tag] 1.1.4 -> 1.1.4 * [new tag] 1.1.5 -> 1.1.5 * [new tag] 1.1.6 -> 1.1.6 * [new tag] 1.1.7 -> 1.1.7 * [new tag] 1.1.8 -> 1.1.8 * [new tag] 1.1.9 -> 1.1.9 * [new tag] 1.2.0 -> 1.2.0 * [new tag] 1.2.1 -> 1.2.1 * [new tag] 1.2.2 -> 1.2.2 * [new tag] 1.2.3 -> 1.2.3 * [new tag] 1.2.4 -> 1.2.4 * [new tag] 1.2.5 -> 1.2.5 * [new tag] 1.2.6 -> 1.2.6 * [new tag] 1.3.0 -> 1.3.0 * [new tag] 1.3.1 -> 1.3.1 * [new tag] 1.3.2 -> 1.3.2 * [new tag] 1.3.3 -> 1.3.3 * [new tag] 1.3.4 -> 1.3.4 * [new tag] 1.3.5 -> 1.3.5 * [new tag] 1.3.6 -> 1.3.6 * [new tag] 1.3.7 -> 1.3.7 * [new tag] 1.3.8 -> 1.3.8 * [new tag] 1.3.9 -> 1.3.9 * [new tag] 1.4.0 -> 1.4.0 * [new tag] 1.4.1 -> 1.4.1 * [new tag] 1.4.2 -> 1.4.2 * [new tag] 1.4.3 -> 1.4.3 * [new tag] 1.5.0 -> 1.5.0 * [new tag] 1.5.1 -> 1.5.1 * [new tag] 1.5.10 -> 1.5.10 * [new tag] 1.5.11 -> 1.5.11 * [new tag] 1.5.12 -> 1.5.12 * [new tag] 1.5.13 -> 1.5.13 * [new tag] 1.5.14 -> 1.5.14 * [new tag] 1.5.2 -> 1.5.2 * [new tag] 1.5.3 -> 1.5.3 * [new tag] 1.5.4 -> 1.5.4 * [new tag] 1.5.5 -> 1.5.5 * [new tag] 1.5.6 -> 1.5.6 * [new tag] 1.5.7 -> 1.5.7 * [new tag] 1.5.8 -> 1.5.8 * [new tag] 1.5.9 -> 1.5.9 * [new tag] 1.6.0 -> 1.6.0 * [new tag] 1.6.1 -> 1.6.1 * [new tag] 1.6.10 -> 1.6.10 * [new tag] 1.6.11 -> 1.6.11 * [new tag] 1.6.12 -> 1.6.12 * [new tag] 1.6.13 -> 1.6.13 * [new tag] 1.6.14 -> 1.6.14 * [new tag] 1.6.15 -> 1.6.15 * [new tag] 1.6.16 -> 1.6.16 * [new tag] 1.6.17 -> 1.6.17 * [new tag] 1.6.2 -> 1.6.2 * [new tag] 1.6.3 -> 1.6.3 * [new tag] 1.6.4 -> 1.6.4 * [new tag] 1.6.5 -> 1.6.5 * [new tag] 1.6.6 -> 1.6.6 * [new tag] 1.6.7 -> 1.6.7 * [new tag] 1.6.8 -> 1.6.8 * [new tag] 1.6.9 -> 1.6.9 * [new tag] 1.7.0 -> 1.7.0 * [new tag] 1.7.1 -> 1.7.1 * [new tag] 1.7.2 -> 1.7.2 * [new tag] 1.7.3 -> 1.7.3 * [new tag] 1.7.4 -> 1.7.4 * [new tag] 1.7.5 -> 1.7.5 * [new tag] 1.7.6 -> 1.7.6 * [new tag] 1.7.7 -> 1.7.7 * [new tag] 1.8.0 -> 1.8.0 * [new tag] 1.8.1 -> 1.8.1 * [new tag] 1.8.2 -> 1.8.2 * [new tag] 1.8.3 -> 1.8.3 * [new tag] 1.8.4 -> 1.8.4 * [new tag] 1.8.5 -> 1.8.5 * [new tag] 1.8.6 -> 1.8.6 * [new tag] 1.9.0 -> 1.9.0 * [new tag] 1.9.1 -> 1.9.1 * [new tag] 1.9.2 -> 1.9.2 * [new tag] 1.9.3 -> 1.9.3 * [new tag] 2.0.0 -> 2.0.0 * [new tag] 2.0.1 -> 2.0.1 * [new tag] 2.0.2 -> 2.0.2 * [new tag] 2.0.3 -> 2.0.3 * [new tag] 2.0.4 -> 2.0.4 * [new tag] 2.0.5 -> 2.0.5 * [new tag] 2.0.6 -> 2.0.6 * [new tag] 2.1.0 -> 2.1.0 * [new tag] 2.1.1 -> 2.1.1 * [new tag] 2.1.10 -> 2.1.10 * [new tag] 2.1.11 -> 2.1.11 * [new tag] 2.1.12 -> 2.1.12 * [new tag] 2.1.13 -> 2.1.13 * [new tag] 2.1.14 -> 2.1.14 * [new tag] 2.1.15 -> 2.1.15 * [new tag] 2.1.16 -> 2.1.16 * [new tag] 2.1.2 -> 2.1.2 * [new tag] 2.1.3 -> 2.1.3 * [new tag] 2.1.4 -> 2.1.4 * [new tag] 2.1.5 -> 2.1.5 * [new tag] 2.1.6 -> 2.1.6 * [new tag] 2.1.7 -> 2.1.7 * [new tag] 2.1.8 -> 2.1.8 * [new tag] 2.1.9 -> 2.1.9 * [new tag] 2.2.0 -> 2.2.0 * [new tag] 2.2.1 -> 2.2.1 * [new tag] 2.2.10 -> 2.2.10 * [new tag] 2.2.11 -> 2.2.11 * [new tag] 2.2.12 -> 2.2.12 * [new tag] 2.2.13 -> 2.2.13 * [new tag] 2.2.14 -> 2.2.14 * [new tag] 2.2.15 -> 2.2.15 * [new tag] 2.2.16 -> 2.2.16 * [new tag] 2.2.17 -> 2.2.17 * [new tag] 2.2.2 -> 2.2.2 * [new tag] 2.2.3 -> 2.2.3 * [new tag] 2.2.4 -> 2.2.4 * [new tag] 2.2.5 -> 2.2.5 * [new tag] 2.2.6 -> 2.2.6 * [new tag] 2.2.7 -> 2.2.7 * [new tag] 2.2.8 -> 2.2.8 * [new tag] 2.2.9 -> 2.2.9 * [new tag] 2.3.0 -> 2.3.0 * [new tag] 2.4.0 -> 2.4.0 * [new tag] 2.4.1 -> 2.4.1 * [new tag] 2.4.10 -> 2.4.10 * [new tag] 2.4.11 -> 2.4.11 * [new tag] 2.4.12 -> 2.4.12 * [new tag] 2.4.13 -> 2.4.13 * [new tag] 2.4.14 -> 2.4.14 * [new tag] 2.4.15 -> 2.4.15 * [new tag] 2.4.16 -> 2.4.16 * [new tag] 2.4.2 -> 2.4.2 * [new tag] 2.4.3 -> 2.4.3 * [new tag] 2.4.4 -> 2.4.4 * [new tag] 2.4.5 -> 2.4.5 * [new tag] 2.4.6 -> 2.4.6 * [new tag] 2.4.7 -> 2.4.7 * [new tag] 2.4.8 -> 2.4.8 * [new tag] 2.4.9 -> 2.4.9 * [new tag] 2.5.0 -> 2.5.0 * [new tag] 2.5.1 -> 2.5.1 * [new tag] 2.5.10 -> 2.5.10 * [new tag] 2.5.11 -> 2.5.11 * [new tag] 2.5.12 -> 2.5.12 * [new tag] 2.5.2 -> 2.5.2 * [new tag] 2.5.3 -> 2.5.3 * [new tag] 2.5.4 -> 2.5.4 * [new tag] 2.5.5 -> 2.5.5 * [new tag] 2.5.6 -> 2.5.6 * [new tag] 2.5.7 -> 2.5.7 * [new tag] 2.5.8 -> 2.5.8 * [new tag] 2.5.9 -> 2.5.9 * [new tag] 2.6.0 -> 2.6.0 * [new tag] 2.6.1 -> 2.6.1 * [new tag] 2.6.2 -> 2.6.2 * [new tag] 2.7.0 -> 2.7.0 * [new tag] 2.7.1 -> 2.7.1 * [new tag] 2.7.2 -> 2.7.2 * [new tag] 2.7.3 -> 2.7.3 * [new tag] 2.7.4 -> 2.7.4 * [new tag] 2.7.5 -> 2.7.5 * [new tag] 2.7.6 -> 2.7.6 * [new tag] 2.7.7 -> 2.7.7 * [new tag] 3.0.0 -> 3.0.0 * [new tag] 3.0.1 -> 3.0.1 * [new tag] 3.0.10 -> 3.0.10 * [new tag] 3.0.11 -> 3.0.11 * [new tag] 3.0.2 -> 3.0.2 * [new tag] 3.0.3 -> 3.0.3 * [new tag] 3.0.4 -> 3.0.4 * [new tag] 3.0.5 -> 3.0.5 * [new tag] 3.0.6 -> 3.0.6 * [new tag] 3.0.7 -> 3.0.7 * [new tag] 3.0.8 -> 3.0.8 * [new tag] 3.0.9 -> 3.0.9 * [new tag] 3.1.0 -> 3.1.0 * [new tag] 3.1.1 -> 3.1.1 * [new tag] 3.1.10 -> 3.1.10 * [new tag] 3.1.11 -> 3.1.11 * [new tag] 3.1.12 -> 3.1.12 * [new tag] 3.1.2 -> 3.1.2 * [new tag] 3.1.3 -> 3.1.3 * [new tag] 3.1.4 -> 3.1.4 * [new tag] 3.1.5 -> 3.1.5 * [new tag] 3.1.6 -> 3.1.6 * [new tag] 3.1.7 -> 3.1.7 * [new tag] 3.1.8 -> 3.1.8 * [new tag] 3.1.9 -> 3.1.9 * [new tag] 3.2.0 -> 3.2.0 * [new tag] 3.2.1 -> 3.2.1 * [new tag] 3.2.2 -> 3.2.2 * [new tag] 3.2.3 -> 3.2.3 * [new tag] 3.2.4 -> 3.2.4 * [new tag] 3.2.5 -> 3.2.5 * [new tag] 3.2.6 -> 3.2.6 * [new tag] 3.2.7 -> 3.2.7 * [new tag] 3.2.8 -> 3.2.8 * [new tag] 3.2.9 -> 3.2.9 HEAD is now at 858f3fbaa Merge pull request #11921 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-0.5.9070 ==> Tapping homebrew/core remote: Enumerating objects: 1030054, done. remote: Counting objects: 100% (138/138), done. remote: Compressing objects: 100% (67/67), done. remote: Total 1030054 (delta 77), reused 132 (delta 71), pack-reused 1029916 Receiving objects: 100% (1030054/1030054), 386.75 MiB | 19.32 MiB/s, done. Resolving deltas: 100% (705903/705903), done. From https://github.com/Homebrew/homebrew-core * [new branch] master -> origin/master HEAD is now at ad32cdaac0 ezstream: update 1.0.2 bottle. Warning: /opt/homebrew/bin is not in your PATH. Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful! ==> Homebrew has enabled anonymous aggregate formulae and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics data has been sent yet (or will be during this `install` run). ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Next steps: - Run these two commands in your terminal to add Homebrew to your PATH: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/hdknr/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" - Run `brew help` to get started - Further documentation: https://docs.brew.sh

2021年8月26日 · 9 分

Terraform

README tfenvのインストール 設定ファイルの作成 terraform init terraform plan terraform apply 設計運用 Terraform設計・運用のノウハウ ベストプラクティス antonbabenko/terraform-best-practices ファイル 内容 main.tf リソースを作成する(moduels, locals, data-sources) variables.tf main.tf で使われる変数 outputs.tf main.tf が作成したリソースの出力 1 % tree large-terraform large-terraform ├── README.md ├── modules │ └── network │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── prod │ ├── main.tf │ ├── outputs.tf │ ├── terraform.tfvars │ └── variables.tf └── stage ├── main.tf ├── outputs.tf ├── terraform.tfvars └── variables.tf HCL (HCL is the HashiCorp configuration language.) https://github.com/hashicorp/hcl Terraform v0.12で変わるHCLの記述について コメント: ...

2021年6月12日 · 1 分