Only Try a Unique Venv If There Is a Conflict

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python

調査の方向性

ベンチマークの requirements インストールフローを追跡し、インストール済みバージョンを追跡する方法について issue #158 を確認してください。パッケージバージョンの競合に対してのみ一意の仮想環境が使用され、その他のインストール失敗は自動的に再試行せずに報告されるようになれば、変更は完了です。

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

説明

Currently any failure when installing a benchmark's requirements triggers the creation of a unique venv for that benchmark and a retry of the install. The only failure for which we need to create a unique venv is when there is a conflict with the version of already installed packages. Adjusting the code along those lines would speed things up when their are failures (e.g. wheel cannot build) and produce less noise.

Possible solutions:

  • parse the text of the first install attempt to see if it a conflict
    • this is fragile, as well as requiring that we "tee" the output of the "pip install" command
  • instead of trying the common venv first, track the installed versions and use the common venv only if the benchmark's requirements are compatible
    • #158 identifies several approaches to tracking installed versions
    • this means we need to add some logic for checking requirements compatibility, though there is probably a good enough library out there (maybe in the stdlib)

Also see https://github.com/python/pyperformance/issues/144#issuecomment-1075822776.

主要言語
Python
スター
1k
フォーク
203
平均マージ
1時間 20分
マージ済み PR(30日)
2

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

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

はじめの一歩

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

python/pyperformance のほかの issue

python/pyperformance の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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