我在这里看到了一些类似的问题,但它们没有涵盖这个特定的用例,而且我无法独自使其工作。
我正在尝试执行以下操作使用脚本:
- 在特定目录中打开一个新终端(并保持打开状态)
- 在该终端中激活特定的 conda 环境
- 也从该终端启动我的 IDE (atom)
我试过这个:
#!/bin/sh
gnome-terminal --working-directory=~/Desktop/Atom/myEnv/ -e 'conda activate myEnv && atom'
但收到此错误消息:
无法执行子进程“conda”(没有这样的文件或目录)
我还尝试了以下代码,这会导致 conda 未找到错误:
#!/bin/sh
eval "$(conda shell.bash hook)"
conda activate myEnv
bash -i
以下代码打开一个终端并显示该环境的预期 python 版本,但不会将激活转移到“bash -i”窗口:
#!/bin/bash
source ~/miniconda3/bin/activate myEnv
python --version
bash -i
请告诉我是否有一种简单的方法可以完成此任务。
答案1
您可以使用bash
,zsh
或任何 shell别名为此目的。你只需添加
alias my_conda='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38'
行插入.bashrc
,.zshrc
或.any_other_shell_rc
。
“注意我的环境名称是MyPy38
”。因此,根据名称和路径替换它/home/$USER/anaconda3
。您还可以为别名创建单独的文件。只需创建一个名为.bash_aliases
并添加的文件
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
行到.bashrc
,.zshrc
或.any_other_shell_rc
并保留命令
alias my_conda='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38'
进入.bash_aliases
。现在,source ~/.zshrc ~/.bashrc
或者只是关闭并打开一个新终端。运行命令my_conda
并繁荣!
此外,您还可以添加一些其他别名jupyter-notebook
jupyter-lab
spyder
等,例如
# Just activate my conda
alias my_conda='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38'
# Open Jupyter Notebook in my Env
alias my_jupn='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38 && jupyter-notebook'
# Open Jupyter Lab in my Env
alias my_jupl='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38 && jupyter-lab'
# Open Spyder in my Env
alias my_spyder='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38 && spyder'
确认活动环境名称 python 代码
import sys
print(sys.executable)