パッケージのデフォルトの場所は、ホームディレクトリの.condaフォルダです。ただし、使用しているサーバーでは、使用できるスペースの量に非常に厳しい制限があり、基本的にホームディレクトリの下に何かを置くことができません。作成する仮想環境の場所を指定するにはどうすればよいですか?ありがとう!サーバーはUbuntuを実行しています。
パッケージのデフォルトの場所は、ホームディレクトリの.condaフォルダです。ただし、使用しているサーバーでは、使用できるスペースの量に非常に厳しい制限があり、基本的にホームディレクトリの下に何かを置くことができません。作成する仮想環境の場所を指定するにはどうすればよいですか?ありがとう!サーバーはUbuntuを実行しています。
回答:
--prefix
または-p
オプションを使用して、環境ファイルを書き込む場所を指定します。例えば:
conda create --prefix /tmp/test-env python=2.7
デフォルトの代わりに/tmp/test-env
存在するという名前の環境を作成し/tmp/
ます.conda
。
conda create --name hbf_env --prefix /om2/user/username python=3.6
ですか?言う-bash: /home/username/.conda/envs/hbf_env/bin/conda: No such file or directory
?
--name
一緒に使用することはできません--prefix
。condaが正しくインストールされているとすると、対応するコマンドはになりますconda create --prefix /om2/user/username/hbf_env python=3.6
。これによりhbf_env
、場所に名前が付けられたenvが作成されます/om2/user/username/
conda create --prefix hbf_env
ローカルディレクトリの後、conda info --envs
名前は空白で表示されますが、フルパスは表示されます...環境をアクティブ化するには、入力する必要がありますフルパス(名前を入力しただけでは、condaは環境を見つけることができません)
パウロが言ったように、
conda create --prefix=/users/.../yourEnvName python=x.x
仮想環境を作成するフォルダーにいる場合は、パスを省略して使用します。
conda create --prefix=yourEnvName python=x.x
condaは、anacondaフォルダー内のenvsフォルダーに含まれる環境のみを追跡します。次回、新しいenvをアクティブ化する必要がある場合は、作成したフォルダーに移動して、次のコマンドでアクティブ化します。
source activate yourEnvName
.condarc
構成ファイルを使用して、他の場所で環境を探すようにcondaに指示できます。 conda.io/docs/user-guide/configuration/…–
使用中 --prefix
オプションの機能しますが、環境を作成するたびに明示的に使用する必要があります。環境をデフォルトで別の場所に保存したいだけの場合は、.condarc
ファイルで構成できます。
https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirsを参照してください。
conda config --append envs_dirs /path/to/envs
env_prompt: ({name})
プロンプトにフルパスが表示された場合は、〜/ .condarcにも追加してください。
--prefix
または-p
引数を使用したいが、環境のフルパスを使用してアクティブ化する必要がないようにしたい場合は、環境を作成する前に構成.condarc
ファイルを編集する必要があります。
.condarc
ファイルがホームディレクトリにあります。C:\Users\<user>
Windowsの場合。envs_dirs
キーの下の値を編集して、環境のカスタムパスを含めます。カスタムパスがD:\envs
であるとすると、ファイルは次のようになります。
ssl_verify: true
channels:
- defaults
envs_dirs:
- C:\Users\<user>\Anaconda3\envs
- D:\envs
次に、そのパスに新しい環境を作成すると、実行時にその名前がパスと一緒に表示され、フルパスconda env list
ではなく名前のみを使用してアクティブ化できるはずです。
要約すると、.condarc
を含めるように編集してからD:\envs
実行するconda env create -p D:\envs\myenv python=x.x
と、activate myenv
(またはsource activate myenv
Linuxでは)機能するはずです。
お役に立てば幸いです。
PS私は試行錯誤の末にこれに出くわしました。envs_dirs
キーを編集すると、condaが更新~\.conda\environments.txt
され、envs_dirs
で指定されたすべてのディレクトリにある環境が含まれるようになり、絶対パスを使用せずにアクセスできるようになると思います。
このように作成できます
conda create --prefix C:/tensorflow2 python=3.7
アクティベートするためにそのフォルダに移動する必要はありません。
# To activate this environment, use:
# > activate C:\tensorflow2
ご覧のとおり、私はこのようにしています。
D:\Development_Avector\PycharmProjects\TensorFlow>activate C:\tensorflow2
(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>
(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>conda --version
conda 4.5.13
私も同じような状況に遭遇しました。私はより大きなデータドライブにアクセスできました。あなたの状況、そしてあなたが考慮することができるサーバーへのあなたが持っているアクセスに応じて
ln -s /datavol/path/to/your/.conda /home/user/.conda
その後、後続のcondaコマンドは、datavolのシンボリックリンクされたディレクトリにデータを配置します。
$HOME/.conda
、envs
およびの下に2つの重要なディレクトリがありますpkgs
。--prefix
上記のスキームを使用すると、別の場所に環境が構築されますが、パッケージファイルのダウンロードはすべて$HOME/.conda/pkgs
。に移動します。ここで提供されるシンボリックリンクソリューションは、環境とダウンロード場所の両方を修正します。