問題タブ [pip-tools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pip-tools および/または新しいリゾルバーは、プライマリ依存関係を壊すサブ依存関係バージョンへのアップグレードを防ぎますか?
pip-tools 5.4.0、pip 20.3.1、および python3 を使用しています。pip-tools のソース コードと、新しいリゾルバーに関する pip ブログの投稿を見てきました。私の質問に対する明確な回答がありません。私が実行した場合:
を実行pip-compile --upgrade
した場合、pip-tools または新しい pip リゾルバーの依存関係チェックに内部制約があり、サブ依存関係が制約を超えてアップグレードするのを防ぎます (例: mccabe が 0.7.0 にアップグレードする)。
python - Python pip 依存関係範囲を生成するには?
私はPythonライブラリに取り組んでおり、現在pip-tools
依存関係を固定するために使用しています。
例: 基本requirements.in
:
pip-compile
このファイルで実行するとrequirements.txt
、次のようなものが生成されます (ここでは単純化されています)。
私の問題は、エンドユーザー向けの他のライブラリとの柔軟性が不足しているため、pypi で公開されるパッケージのバージョンを固定することはお勧めできないことです。これらの場合、依存関係の範囲を指定するのが一般的な方法のようです。
requirements.in
私の質問は、上記のような依存関係の範囲を自動生成する方法があるかどうかです。既存の依存関係解決ツールを使用して、すべてのライブラリと互換性のある最小バージョンと最大バージョンを生成するのは比較的簡単だと思います。(バージョンが指定されていないライブラリは、そのままにしておくことができます。)
このようなことを行うツールを見つけることができませんでした。他のライブラリの管理者はこのタスクを手動で実行していますか? requirements.in
上記で説明したアプローチでは、相互依存関係のないライブラリに手動で介入する必要があることは理解していますが、ほとんどの場合 (確かに私の場合)、これは面倒な作業を行う必要があります。