Python 如何将所有conda环境合并到一个文件夹中
我使用的是WIN10上的conda版本4.3.23和anaconda-script.py命令行客户端(版本1.6.0) 我想激活environmentPython 如何将所有conda环境合并到一个文件夹中,python,environment-variables,anaconda,conda,Python,Environment Variables,Anaconda,Conda,我使用的是WIN10上的conda版本4.3.23和anaconda-script.py命令行客户端(版本1.6.0) 我想激活environmentnew36,但在激活environmentconda info之前--envs给出: (C:\Users\Myself\Anaconda3) C:\Users\Myself>conda info --envs # conda environments: # blender35 C:\Users\Myself\An
new36
,但在激活environmentconda info之前--envs
给出:
(C:\Users\Myself\Anaconda3) C:\Users\Myself>conda info --envs
# conda environments:
#
blender35 C:\Users\Myself\Anaconda3\envs\blender35
django C:\Users\Myself\Anaconda3\envs\django
ntl C:\Users\Myself\Anaconda3\envs\ntl
python26 C:\Users\Myself\Anaconda3\envs\python26
python27 C:\Users\Myself\Anaconda3\envs\python27
python35 C:\Users\Myself\Anaconda3\envs\python35
python36 C:\Users\Myself\Anaconda3\envs\python36
webdev C:\Users\Myself\Anaconda3\envs\webdev
root * C:\Users\Myself\Anaconda3
(python36) C:\Users\Myself>conda info --envs
# conda environments:
#
new36 C:\Anaconda3\envs\dggs36
django C:\Anaconda3\envs\django
python26 C:\Anaconda3\envs\python26
python27 C:\Anaconda3\envs\python27
python35 C:\Anaconda3\envs\python35
python36 * C:\Anaconda3\envs\python36
webdev C:\Anaconda3\envs\webdev
root C:\Anaconda3
搜索路径似乎是C:\Users\imf\Anaconda3\envs
,激活后,例如python36
conda info--envs
给出:
(C:\Users\Myself\Anaconda3) C:\Users\Myself>conda info --envs
# conda environments:
#
blender35 C:\Users\Myself\Anaconda3\envs\blender35
django C:\Users\Myself\Anaconda3\envs\django
ntl C:\Users\Myself\Anaconda3\envs\ntl
python26 C:\Users\Myself\Anaconda3\envs\python26
python27 C:\Users\Myself\Anaconda3\envs\python27
python35 C:\Users\Myself\Anaconda3\envs\python35
python36 C:\Users\Myself\Anaconda3\envs\python36
webdev C:\Users\Myself\Anaconda3\envs\webdev
root * C:\Users\Myself\Anaconda3
(python36) C:\Users\Myself>conda info --envs
# conda environments:
#
new36 C:\Anaconda3\envs\dggs36
django C:\Anaconda3\envs\django
python26 C:\Anaconda3\envs\python26
python27 C:\Anaconda3\envs\python27
python35 C:\Anaconda3\envs\python35
python36 * C:\Anaconda3\envs\python36
webdev C:\Anaconda3\envs\webdev
root C:\Anaconda3
现在blender35
和ntl
消失,无法激活,而new36
显示并可以激活;搜索路径似乎是C:\Anaconda3\envs\
问题:如何将所有环境移动到一个文件夹(和一个搜索路径)?我想要
C:\Anaconda3\envs\
我的猜测是康达和巨蟒之间有一些混淆,但我不知道要检查哪些文件来解决这个问题 此外,我在
C:\Users\myelf
找到了.condarc
文件
ssl_verify: 'True'
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- anaconda-fusion
- defaults
- conda-forge
show_channel_urls: true
channel_priority: true
编辑1:实际上是说 提示:在Windows中,最好先停用一个环境,然后再激活另一个环境
按照这个提示,我甚至无法激活
new36
限制
您不能将目录从一个位置移动到另一个位置。环境中的所有脚本都引用了conda info--envs
列出的环境路径
解决方案摘要
但是,您可以从一条路径到另一条路径重新创建相同的环境。总之,您需要从旧路径收集环境信息,在新路径中重新创建环境,删除旧环境,最后在重新创建所有环境后删除旧根目录
作出的假设
Old path: c:\Users\Myself\Anaconda3
New Path: C:\Anaconda3
收集环境信息
列出环境的所有包并将其保存到文件中
c:\Users\Myself\Anaconda3\bin\conda list -n ntl > c:\temp\ntl.txt
c:\Users\Myself\Anaconda3\bin\conda list -n blender35 > c:\temp\blender36.txt
使用文件中的信息创建新环境
注意:该文件将包含程序包名称、版本和生成通道。对于构建通道所在的软件包,请使用pip进行安装
在此处使用c:\temp\ntl.txt中的程序包信息
使用c:\temp\blender35.txt中的包信息
删除旧路径
我们在这里走捷径。放弃旧路。确实没有必要单独删除环境
del /S c:\Users\Myself\Anaconda3
希望这有帮助。如果您已经在conda环境中创建了conda环境,是否会发生这种情况?这很奇怪。@juanpa.arrivillaga你是说如果我创建了
new36
,而python36
处于活动状态?为什么blender35
和ntl
会消失?您已经发现了2个conda
根
s。但是,当您调用activate
时,它将运行在%PATH%
中找到的第一个activate
。运行activate
后,它会更改%PATH%
,现在从第二个根目录运行conda info
。发生这种混淆是因为我可能在激活python36
时创建了一个新环境吗?@Michael-否。第二个安装与其他安装完全不同。混合将在活动环境中创建第二个根环境。创建其中一些环境时,您已经安装了2个root
。