[解決済み] setuptools setup.py ファイルの install_requires kwarg 用の requirements.txt を参照する。
2022-03-14 18:30:05
質問
私は
requirements.txt
ファイルをTravis-CIで使用しています。 の両方に要件を重複させるのは馬鹿げているように思えます。
requirements.txt
と
setup.py
にファイルハンドルを渡したいと思っていました。
install_requires
のkwargは
setuptools.setup
.
これは可能なのでしょうか?もしそうなら、どのようにすればよいのでしょうか?
以下は私の
requirements.txt
ファイルを作成します。
guessit>=0.5.2
tvdb_api>=1.8.2
hachoir-metadata>=1.3.3
hachoir-core>=1.3.3
hachoir-parser>=1.3.4
解決方法は?
これを反転させ、依存関係のリストを
setup.py
で、1文字(ドット)の
.
- で
requirements.txt
の代わりに
また、推奨されていないとはいえ、このような場合は
requirements.txt
ファイル (URLで外部要件を参照しない場合) を次のようにハックします (テストは
pip 9.0.1
):
install_reqs = parse_requirements('requirements.txt', session='hack')
これは 環境マーカ とはいえ
古いバージョンのpipで、より具体的には
6.0より古い
を実現するための公開APIがあります。要件ファイルには、コメント (
#
)、他のファイルを含めることができます (
--requirement
または
-r
). したがって、もしあなたが本当に
requirements.txt
を使えば、pipパーサーを使うことができます。
from pip.req import parse_requirements
# parse_requirements() returns generator of pip.req.InstallRequirement objects
install_reqs = parse_requirements(<requirements_path>)
# reqs is a list of requirement
# e.g. ['django==1.5.1', 'mezzanine==1.4.6']
reqs = [str(ir.req) for ir in install_reqs]
setup(
...
install_requires=reqs
)
関連
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] ローカルディレクトリからrequirements.txtファイルに従ってpipを使用してパッケージをインストールするにはどうすればよいですか?
-
[解決済み] 億の相対的輸入
-
[解決済み] os/path 形式に関係なく、パスからファイル名を抽出します。
-
[解決済み] setup.py (setuptools) で定義されているバージョンをパッケージに取り込むにはどうしたらいいですか?
-
[解決済み] requirements.txt と setup.py の比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonによるjieba分割ライブラリ
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない