我使用的是 WIN10,使用 conda 版本 4.3.23 和 anaconda-script.py 命令行客户端(版本 1.6.0)。
我想激活环境 new36
,但在激活环境 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
搜索路径似乎是 C:\Users\Myself\Anaconda3\envs
并且在激活后,例如python36
conda info --envs
给出:
(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\
我的猜测是 conda 和 anaconda 之间发生了混淆,但我不知道要检查哪些文件来解决这个问题。
此外,我在 C:\Users\Myself
中找到了 .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:The user guide about managing environments实际上说
TIP: In Windows, it is good practice to deactivate one environment before activating another.
按照这个提示,我什至无法激活 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
使用文件中的信息创建新环境
注意:该文件将包含包名称、版本和构建 channel 。对于构建 channel 为
在此处使用 c:\temp\ntl.txt 中的包信息
C:\Anaconda3\bin\conda create -n ntl packagename==version packagename2==version ...
在此处使用 c:\temp\blender35.txt 中的包信息
C:\Anaconda3\bin\conda create -n blender35 packagename==version packagename2==version ...
删除旧路径
我们会在这里走捷径。放弃旧的路径。确实没有必要单独删除环境。
del /S c:\Users\Myself\Anaconda3
希望这有帮助。
关于python - 如何将所有 conda 环境放入一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757908/