1. ホーム
  2. python-3.x

[解決済み] condaからpip3用のrequirements.txtを作成する。

2022-03-06 15:37:21

質問

こんにちは、私は通常、自分の環境を管理するためにcondaを使用していますが、現在、私のラップトップよりも少し馬力を必要とするプロジェクトに参加しています。そこで、新しいIntel Xeonを搭載した大学のワークステーションを使おうとしています。しかし、私は管理者権限を持っておらず、ワークステーションはcondaを持っていないので、私はvirtualenvとpip3で作業することを余儀なくされています。

を生成するにはどうすればよいですか? requirements.txt で動作するように、conda から pip3venv ?

conda list -e > requirements.txt

は互換性のあるファイルを生成しません。

= is not a valid operator. Did you mean == ?

conda という出力があります。

# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: osx-64
certifi=2016.2.28=py36_0
cycler=0.10.0=py36_0
freetype=2.5.5=2
icu=54.1=0
libpng=1.6.30=1
matplotlib=2.0.2=np113py36_0
mkl=2017.0.3=0
numpy=1.13.1=py36_0
openssl=1.0.2l=0
pip=9.0.1=py36_1
pyparsing=2.2.0=py36_0
pyqt=5.6.0=py36_2
python=3.6.2=0
python-dateutil=2.6.1=py36_0
pytz=2017.2=py36_0
qt=5.6.2=2
readline=6.2=2
scikit-learn=0.19.0=np113py36_0
scipy=0.19.1=np113py36_0
setuptools=36.4.0=py36_1
sip=4.18=py36_0
six=1.10.0=py36_0
sqlite=3.13.0=0
tk=8.5.18=0
wheel=0.29.0=py36_0
xz=5.2.3=0
zlib=1.2.11=0

をすべて手動で変更しようと思いました。 === が、2つの = をcondaの出力に追加しました。どちらを変更すればいいのでしょうか?きっともっと簡単な方法があるのでしょう?

EDIT pip freeze > requirements.txt を与える。

certifi==2016.2.28
cycler==0.10.0
matplotlib==2.0.2
matplotlib-venn==0.11.5
numpy==1.13.1
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.2
scikit-learn==0.19.0
scipy==0.19.1
six==1.10.0

解決方法は?

冒頭のコメントにあるように、出力される

conda list -e > requirements.txt

を使用することができます。 conda との仮想環境

conda create --name <env> --file requirements.txt

の出力は正しい形式ではありませんが、この出力は pip .

というファイルが必要な場合は、そのファイルを pip 仮想環境 requirements.txt を適切なフォーマットで作成します。) をインストールすることができます。 pip の中で conda 環境を作成し、pip を使って requirements.txt .

conda activate <env>
conda install pip
pip freeze > requirements.txt

そして、出来上がった requirements.txt を作成し pip 仮想環境

python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

これをテストしたところ、パッケージが出力間で同一でなかった ( pip が含まれているパッケージは少なかったのですが、機能的な環境を構築するには十分でした。

requirements.txtに変なパスが表示される人は、これを使ってください。

pip list --format=freeze > requirements.txt