--index-url not parsed correctly
まだ誰も着手していません。
評価
調査の方向性
requirements.txt のケースを -i URL と --index-url URL の両方で再現し、その後 --extra-index-url および報告されている 0.10.0 の動作と比較してください。python_inspector/resolve_cli.py、api.py、resolution.py、utils_pypi.py を通る経路を追跡します。URL が単一のリポジトリ URL のまま維持され、依存関係の解決によって文字単位に分割されなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Analyzing a requirements.txt file that contains -i URL or --index-url URL fails with the error below.
This was tested with 0.12.1 and 0.10.0, the parsing happens correctly in version 0.10.0.
Replacing -i with --extra-index-url solves the issue.
Error:
environment: Environment(python_version='311', operating_system='linux')
repos:
PypiSimpleRepository(index_url='https://pypi.org/simple', credentials=None)
PypiSimpleRepository(index_url='h', credentials=None)
PypiSimpleRepository(index_url='t', credentials=None)
PypiSimpleRepository(index_url='t', credentials=None)
PypiSimpleRepository(index_url='p', credentials=None)
PypiSimpleRepository(index_url='s', credentials=None)
PypiSimpleRepository(index_url=':', credentials=None)
PypiSimpleRepository(index_url='', credentials=None)
PypiSimpleRepository(index_url='', credentials=None)
PypiSimpleRepository(index_url='a', credentials=None)
... (the remaining spells out each character of the provided URL)
Traceback (most recent call last):
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolve_cli.py", line 259, in resolve_dependencies
resolution_result: Dict = resolver_api(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/api.py", line 289, in resolve_dependencies
resolution, purls = resolve(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/api.py", line 353, in resolve
resolved_dependencies, packages = get_resolved_dependencies(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/api.py", line 394, in get_resolved_dependencies
resolver_results = resolver.resolve(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/resolvelib/resolvers.py", line 148, in _add_to_criteria
matches = self._p.find_matches(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 621, in find_matches
candidates = sorted(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 597, in _iter_matches
self.get_versions_for_package(name=name, repo=repo))
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 401, in get_versions_for_package
return self.get_versions_for_package_from_repo(name, repo)
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/resolution.py", line 412, in get_versions_for_package_from_repo
for version, package in repo.get_package_versions(name).items():
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1550, in get_package_versions
self._get_package_versions_map(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1518, in _get_package_versions_map
links = self.fetch_links(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1596, in fetch_links
text = CACHE.get(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1687, in get
content = get_file_content(
File "/Users/bennati/.pyenv/versions/scancode/lib/python3.8/site-packages/python_inspector/utils_pypi.py", line 1736, in get_file_content
raise Exception(f"Unsupported URL scheme: {path_or_url}")
Exception: Unsupported URL scheme: h/aiofiles
- 主要言語
- 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 が 6 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
aboutcode-org/python-inspector#259 · コメント 1 件 ·
-
InconsistentCandidate: Pre-Release not allow対応中かも @Anurag-S1ngh が 6 日前に担当しました。 オープン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 が 6 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
aboutcode-org/python-inspector#253 · コメント 1 件 ·
aboutcode-org/python-inspector の issue をすべて見る
似ている issue
-
getchaintips leaves out the active tip once a header is staged on it, where Core always lists itオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
btclib-org/btclib-node#2158 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
dbt-msft/dbt-sqlserver#897 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
Gathin23/cleanyourtv#2770 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
vllm-project/vllm#64845 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
dekobon/big-code-analysis#1729 ·
メンテナーはふだん 1 日以内に返信