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

python snappy fails on Mac M2 processor

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
macos, python

調査の方向性

snappy を Homebrew と python-snappy を使って Python 3.10 にインストールした後、M2 プロセッサ搭載の Mac で test_snappy.py に示されているスクリプトを使って失敗を再現します。まず site-packages/snappy 配下の traceback のパス、特に _snappy.cpython-310-darwin.so と snappy_cffi.py を確認します。snappy のインポートと compress/uncompress のラウンドトリップを正常に完了できれば完了です。

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

説明

I have installed snappy via brew and that says it installed fine.

But when I pip install python-snappy and then run the following script:

import snappy

compressed = snappy.compress("some data")
assert "some data" == snappy.uncompress(compressed)

it fails with:

(venv) ~/code/projectblue-api/src (feature/ARM/build-stuff) $ python test_snappy.py 
Traceback (most recent call last):
  File "<...snip...>/venv/lib/python3.10/site-packages/snappy/snappy.py", line 48, in <module>
    from ._snappy import UncompressError, compress, decompress, \
ImportError: dlopen(<...snip...>/venv/lib/python3.10/site-packages/snappy/_snappy.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_snappy_compress'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<...snip...>/src/test_snappy.py", line 1, in <module>
    import snappy
  File "<...snip...>/venv/lib/python3.10/site-packages/snappy/__init__.py", line 3, in <module>
    from .snappy import (
  File "<...snip...>/venv/lib/python3.10/site-packages/snappy/snappy.py", line 51, in <module>
    from .snappy_cffi import UncompressError, compress, decompress, \
  File "<...snip...>/venv/lib/python3.10/site-packages/snappy/snappy_cffi.py", line 3, in <module>
    from ._snappy_cffi import ffi, lib
ModuleNotFoundError: No module named 'snappy._snappy_cffi'
主要言語
Python
スター
490
フォーク
104
PR マージ指標
30日以内にマージされた PR はありません

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

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

はじめの一歩

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

intake/python-snappy のほかの issue

intake/python-snappy の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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