我如何才能使蟒蛇环境文件可以在其他计算机上使用?
我使用conda env export > environment. YML将我的anaconda python环境导出到YML。导出的环境。Yml包含这个行前缀:/home/superdev/miniconda3/envs/juicyenv,它映射到我的anaconda的位置,这在其他pc上是不同的。
我如何才能使蟒蛇环境文件可以在其他计算机上使用?
我使用conda env export > environment. YML将我的anaconda python环境导出到YML。导出的环境。Yml包含这个行前缀:/home/superdev/miniconda3/envs/juicyenv,它映射到我的anaconda的位置,这在其他pc上是不同的。
当前回答
Linux或Mac
Conda env export—no-builds | grep -v "prefix" > environment.yml
窗户
Conda env export -no-builds | findstr -v "prefix" > environment.yml
原理:默认情况下,conda env导出包含构建信息:
$ conda env export
...
dependencies:
- backcall=0.1.0=py37_0
- blas=1.0=mkl
- boto=2.49.0=py_0
...
相反,你可以不带构建信息就导出你的环境:
$ conda env export --no-builds
...
dependencies:
- backcall=0.1.0
- blas=1.0
- boto=2.49.0
...
它将环境与Python版本和操作系统解绑定。
其他回答
Windows用户
打开CMD 激活SpidersEnv conda env export > spidersen .yml 然后浏览用户文件夹并搜索SpidersEnv.yml
这也是备份(导出)环境的另一种方法
Linux或Mac
Conda env export—no-builds | grep -v "prefix" > environment.yml
窗户
Conda env export -no-builds | findstr -v "prefix" > environment.yml
原理:默认情况下,conda env导出包含构建信息:
$ conda env export
...
dependencies:
- backcall=0.1.0=py37_0
- blas=1.0=mkl
- boto=2.49.0=py_0
...
相反,你可以不带构建信息就导出你的环境:
$ conda env export --no-builds
...
dependencies:
- backcall=0.1.0
- blas=1.0
- boto=2.49.0
...
它将环境与Python版本和操作系统解绑定。
我发现只导出字符串格式的包比导出整个conda环境更可移植。正如前面的答案所暗示的:
$ conda list -e > requirements.txt
但是,这个requirements.txt包含的构建号不能在操作系统之间移植,例如在Mac和Ubuntu之间。在conda env export中,我们有——no-builds选项,但没有conda list -e选项,所以我们可以通过发出以下命令来删除构建号:
$ sed -i -E "s/^(.*\=.*)(\=.*)/\1/" requirements.txt
并在另一台计算机上重新创建环境:
conda create -n recreated_env --file requirements.txt
对我来说,Conda给出的程序是有效的:
https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#sharing-an-environment
但前提是在anaconda提示/控制台中执行。
VSCode终端只生成了一个带有我的环境路径的yml文件,但没有显式的依赖包列表。
首先激活你的conda环境(你想要导出/备份的环境)
conda activate myEnv
导出所有包到一个文件(myEnvBkp.txt)
conda list --explicit > myEnvBkp.txt
恢复/导入环境:
conda create --name myEnvRestored --file myEnvBkp.txt