python - 在启动时运行的 bash 脚本中激活 conda 环境

标签 python bash conda startup environment

所以我有一个生成动画的 python 脚本 - 它需要我在 conda 环境中拥有的库。我需要在我的计算机打开后立即运行此脚本,因此我编写了一个简短的 bash 脚本,并将其添加到“启动应用程序”中。这个 bash 脚本在启动时运行,内容如下:

#!/bin/bash

conda activate myenv
cd ~/scripts
python generate.py

当我自己在终端运行这个时,没问题,但是每当我打开电脑时,脚本的 python 部分不执行,当我检查错误时我发现:

conda: command not found

然后我还看到 python 脚本无法运行,因为它缺少库(来自未激活的 conda 环境)

我尝试在 bash 脚本中添加行,用“source activate”替换“conda activate”,我尝试添加 echo ". /home/<user>/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc到 bash 脚本,用 /home/barrat/anaconda3/bin/conda 替换“conda” ,甚至添加 whoami到在启动时运行的 bash 脚本,以确保我没有偶然神奇地成为 root 用户……这些都没有用。我会真的感谢任何帮助。现在是凌晨 3 点,我有点绝望。

最佳答案

您可能已经解决了这个问题,但对于 future 的观众来说,这对我有用:

if [ -f "/path/to/anaconda3/etc/profile.d/conda.sh" ]; then
    . "/path/to/anaconda3/etc/profile.d/conda.sh"
    CONDA_CHANGEPS1=false conda activate myenv
fi

添加这个而不是 conda activate myenv

关于python - 在启动时运行的 bash 脚本中激活 conda 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54478320/

相关文章:

python - 虚拟环境中的kivy,窗口提供程序错误(linux)

python - 如何使用 conda 选择要下载的特定版本的包?

python:rstrip一个确切的字符串,尊重顺序

python - 如何使用 Python 从 GitHub 下载文件

python - 找到图上点之间的最长公共(public)间隔

regex - 在纯 bash 中使用正则表达式提取子字符串

python - 在继承类中重写抽象类的装饰器

bash - Windows 10 的 Linux 子系统中的 apt 失败并显示 404 Not Found

bash - 必须确定所有用户的主目录 - 波浪号脚本问题

python-3.x - 在我的 ubuntu 服务器上以管理员身份运行 conda install,我得到 "Missing write permissions:/home/ubuntu/anaconda3"