ImportError: Cython not found! when inspecting `hdbscan==0.8.33`
まだ誰も着手していません。
評価
調査の方向性
hdbscan==0.8.33 を使ってコマンドを再現し、python_inspector/setup_py_live_eval.py を調査してから、traceback に示されている python_inspector/resolution.py の setup.py 解析パスを追跡します。Cython がないことによる ImportError を inspector が処理すべきか、依存関係の問題として報告すべきかを判断します。期待される動作と適切な回帰チェックが確立されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Question: Is this something which can be fixed in python inspector? Or does this need a fix in the dependency?
The following reproduces with version 0.10.0:
- Setup a requirements.txt:
hdbscan==0.8.33 ; python_version >= "3.11" and python_version < "4.0"
- Run inspection like:
python-inspector --python-version 311 --operating-system linux --json-pdt x.json --analyze-setup-py-insecurely --requirement r.txt
Warning: ambiguous setup provider in /workspace/.cache/python_inspector/extracted_sdists/hdbscan-0.8.33/hdbscan-0.8.33/setup.py: candidates are ['setuptools', 'setuptools']defaulting to 'distutils.core'.
<string>:8: UserWarning: No module named 'Cython'
<string>:92: UserWarning: Due to incompatibilities with Python 3.7 hdbscan nowrequires Cython to be installed in order to build it
Traceback (most recent call last):
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/resolve_cli.py", line 253, in resolve_dependencies
resolution_result: Dict = resolver_api(
^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/api.py", line 279, in resolve_dependencies
resolution, purls = resolve(
^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/api.py", line 341, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/api.py", line 379, in get_resolved_dependencies
resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/resolvelib/resolvers.py", line 427, in resolve
failure_causes = self._attempt_to_pin_criterion(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/resolvelib/resolvers.py", line 239, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/resolvelib/resolvers.py", line 229, in _get_updated_criteria
for requirement in self._p.get_dependencies(candidate=candidate):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/resolution.py", line 644, in get_dependencies
return list(self._iter_dependencies(candidate))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/resolution.py", line 635, in _iter_dependencies
for r in self.get_requirements_for_package(purl=purl, candidate=candidate):
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/resolution.py", line 497, in get_requirements_for_package_from_pypi_simple
yield from get_reqs_insecurely(
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/resolution.py", line 277, in get_reqs_insecurely
yield from parse_reqs_from_setup_py_insecurely(setup_py=setup_py_location)
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/resolution.py", line 128, in parse_reqs_from_setup_py_insecurely
for req in iter_requirements(level="", extras=[], setup_file=setup_py):
File "/opt/python/versions/3.11.5/lib/python3.11/site-packages/python_inspector/setup_py_live_eval.py", line 117, in iter_requirements
exec(file_contents, g)
File "<string>", line 94, in <module>
ImportError: Cython not found! Please install cython and try again
- 主要言語
- Python
- スター
- 23
- フォーク
- 29
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aboutcode-org/python-inspector のほかの issue
-
難易度 3/5 半日 初心者へのやさしさ 62/100
aboutcode-org/python-inspector#268 · コメント 1 件 ·
-
Add support for pylock.toml対応中かも @Anurag-S1ngh が 5 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
aboutcode-org/python-inspector#259 · コメント 1 件 ·
-
InconsistentCandidate: Pre-Release not allow対応中かも @Anurag-S1ngh が 5 日前に担当しました。 オープンbug design nice-to-have
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
aboutcode-org/python-inspector#257 · コメント 1 件 ·
-
Feature request: Mask repository credentials in --verbose output対応中かも @Rajeshwari2857 が 6 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 58/100
aboutcode-org/python-inspector#254 · コメント 4 件 · リアクション 4 件 ·
-
Python Inspector version 0.15.0 contains the wrong version string対応中かも @Anurag-S1ngh が 5 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
aboutcode-org/python-inspector#253 · コメント 1 件 ·
aboutcode-org/python-inspector の issue をすべて見る
似ている issue
-
priority middle
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
KATO-Hiro/AtCoderClans#12940 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 76/100
huggingface/huggingface_hub#5283 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信
-
bug example
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信