Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

asyncpg does not install with python 3.12-dev

オープン
#1,003 コメント 13 件 リアクション 4 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
postgresql, python
領域
databases

調査の方向性

リンクされた GitHub CI trace と、失敗している生成ファイル asyncpg/pgproto/pgproto.c から始め、Python 3.12-dev でインストールを再現します。報告された PyLongObject ob_digit のコンパイルエラーを調査し、その Python バージョンで報告された build failure なしに asyncpg が正常にインストールされることを検証します。

索引モデルが issue の本文から書いたものです。

説明

See Github CI trace

  • asyncpg version: latest
  • PostgreSQL version: latest
  • Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
    the issue with a local PostgreSQL install?
    : No / Does not apply
  • Python version: 3.12-dev
  • Platform: Github CI
  • Do you use pgbouncer?: No
  • Did you install asyncpg with pip?: Just trying, it fails.
  • If you built asyncpg locally, which version of Cython did you use?: 312
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : I do not know.

Python 3.12, under development, seems to have changed a structure:

      asyncpg/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int’:
      asyncpg/pgproto/pgproto.c:40800:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      40800 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~

Also, there are two repeated warnings:

gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12 -c asyncpg/pgproto/pgproto.c -o build/temp.linux-x86_64-cpython-312/asyncpg/pgproto/pgproto.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion
      asyncpg/pgproto/pgproto.c: In function ‘__pyx_pf_7asyncpg_7pgproto_7pgproto_11WriteBuffer_2__dealloc__’:
      asyncpg/pgproto/pgproto.c:3127:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       3127 |     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BufferError); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34, __pyx_L1_error)
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/dictobject.h:90,
                       from /opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/Python.h:61,
                       from asyncpg/pgproto/pgproto.c:31:
      /opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~

 /opt/hostedtoolcache/Python/3.12.0-alpha.5/x64/include/python3.12/internal/pycore_code.h:434:41: warning: conversion to ‘int’ from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
        434 |     return adaptive_counter_bits(value, backoff);
            |                                         ^~~~~~~
主要言語
Python
スター
8.1k
フォーク
469
平均マージ
2日 20時間
マージ済み PR(30日)
9

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MagicStack/asyncpg のほかの issue

MagicStack/asyncpg の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。