JuliaPy / JuliaPy/PyCall.jl

detect ModuleNotFoundError in pyimport

オープン
#645 コメント 2 件 リアクション 2 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Julia
スター
1.5k
フォーク
186
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently, we print `The Python package foo could not be found by pyimport` when [*any* ImportError](https://github.com/JuliaPy/PyCall.jl/blob/master/src/PyCall.jl#L490) is thrown by `pyimport`. We should only print this on a `ModuleNotFoundError`, as otherwise it is misleading.

Note that we can only do this in Python ≥ 3.6 (https://github.com/python/cpython/commit/c943265ba56e7ce7e2fe79fdecfc6670e10e5467). I guess in earlier versions we could check for `"No module named"` in the `ImportError` string?

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

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

調査の方向性

src/PyCall.jl の 490 行目付近から始め、pyimport が ImportError を処理している箇所を確認します。3.6 より前と後の Python バージョンがどのようにサポートされているかを確認し、そのうえで package-not-found メッセージが ModuleNotFoundError または文書化された旧バージョン向けのフォールバックの場合にのみ出力されることを検証します。他の ImportError のケースが不足しているパッケージとして報告されなければ完了です。

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

評価

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

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

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