conda yml ファイルで pip requirements ファイルを使用すると、AttributeError: 'FileNotFoundError' がスローされます。質問する

conda yml ファイルで pip requirements ファイルを使用すると、AttributeError: 'FileNotFoundError' がスローされます。質問する

私は好きrequirements.txtです

numpy

およびenvironment.yml含む

# run via: conda env create --file environment.yml
---
name: test
dependencies:
  - python>=3
  - pip
  - pip:
      - -r file:requirements.txt

conda env create --file environment.yml私が走ると

Pip サブプロセスの出力:

Pip サブプロセス エラー: エラー: 例外:

<... pip のエラー トレースバック >

AttributeError: 'FileNotFoundError' オブジェクトには属性 'read' がありません

失敗した

CondaEnvException: Pip が失敗しました

エラーが発生する直前に報告されているように、pip がどのように呼び出されるかについても奇妙です。

['$HOME/.conda/envs/test/bin/python', '-m', 'pip', 'install', '-U', '-r', '$HOME/test/condaenv.8d3003nm.requirements.txt']

(ホーム パスを に置き換えます$HOME) の奇妙な展開に注意してくださいrequirements.txt

何か案は?

ベストアンサー1

21.2.1 での Pip の動作の変更

Pipコードの最近の変更file:URI 構文に関してより厳密に動作が変更されました。指摘したようにPyPAメンバーとPip開発者によると、構文はfile:requirements.txt有効なURIではない。RFC8089仕様

代わりに、この計画を完全に放棄する必要がありますfile:

name: test
dependencies:
  - python>=3
  - pip
  - pip:
    - -r requirements.txt

または、有効な URI を指定します。つまり、絶対パス (またはローカル ファイル サーバー) を使用します。

name: test
dependencies:
  - python>=3
  - pip
  - pip:
    - -r file:/full/path/to/requirements.txt
    # - -r file:///full/path/to/requirements.txt # alternate syntax

おすすめ記事