Conda init是否会污染运行环境?该命令具体会执行哪些操作?
conda init 执行逻辑与使用说明
conda init的核心作用是将conda的命令注册到系统shell的全局环境中,解决每次打开新终端都需要手动source conda安装路径下初始化脚本才能使用conda命令的问题。它不会修改任何已创建的conda环境配置,也不会影响Pycharm等IDE内的现有环境设置,具体执行操作如下:
- 自动识别当前系统使用的shell类型(支持bash、zsh、fish、PowerShell等常见shell),也可通过参数手动指定目标shell
- 在对应shell的配置文件末尾追加conda专属的初始化代码段,不同shell对应的配置文件路径如下:
- Linux/Mac bash:
~/.bashrc、~/.bash_profile - Linux/Mac zsh:
~/.zshrc - Windows PowerShell:
%USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
- Linux/Mac bash:
- 初始化代码段的作用仅包括:将conda的可执行文件路径加入当前shell的PATH、注册
conda activate/conda deactivate等命令的快捷调用函数、设置是否默认激活base环境的开关。
如果担心配置异常,你可以提前备份对应shell的配置文件,执行conda init后如果要回滚,只需要删除配置文件末尾追加的conda相关代码段即可完全恢复原状。
针对你需要在任意路径下执行脚本的需求,除了使用conda init外,也可以直接调用目标conda环境的Python解释器绝对路径执行,无需提前激活环境,示例如下:
# 替换为你自己的conda环境python解释器绝对路径 /Users/xxx/miniconda3/envs/你的环境名/bin/python -m path_to_my_script/script.py
也可以在shell配置文件中添加别名简化操作,比如添加alias myproj_python='/Users/xxx/miniconda3/envs/你的环境名/bin/python'后,直接执行myproj_python -m path_to_my_script/script.py即可。
内容的提问来源于stack exchange,提问作者GlaceCelery
相关产品推荐
相关产品推荐

