Django: model から DRF ModelSerializer を参照する

modelクラスからシリアライザクラスを参照する models <- api の照合依存のレイアウト 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 partners ├── __init__.py ├── api │ ├── __init__.py │ ├── filters.py │ ├── permissions.py │ ├── schema.py │ ├── serializers.py │ ├── urls.py │ └── viewsets.py ├── apps.py ├── models │ ├── __init__.py │ ├── apimodels.py │ ├── defs.py │ ├── managers.py │ ├── methods.py │ ├── models.py │ └── querysets.py ├── tasks.py └── views.py

2023年4月5日 · 1 分

Python: ThreadPoolExecutor: マルチスレッド

Python: ThreadPoolExecutor: マルチスレッド 1 2 3 4 5 6 7 8 9 def bind_all(self): def _bind(instance): instance.bind_to_debt() executor = ThreadPoolExecutor(max_workers=4) for i in self.all(): executor.submit(_bind, i) executor.shutdown() # 全てのスレッドが終わるのを待つ

2023年3月30日 · 1 分

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 分