从scrip设置python环境时出现问题

2024-10-03 06:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我在windows10中使用Ubuntu应用程序,在尝试从脚本启动Python环境时遇到了问题。你知道吗

我已经安装了python,当我从命令行设置环境时,我可以运行python脚本,但是当我尝试使用脚本设置环境时,什么都不会改变。你知道吗

我可以从命令行运行它:

source /home/bootys/environments/my_env/bin/activate

但是当我在脚本中运行相同的东西时,没有任何改变:

#!/bin/bash
echo "Setting to Python Environment"
source /home/bootys/environments/my_env/bin/activate
if [ $? -eq 0 ]
then
echo "Environment has been set to Python"
else
echo "Failed to set environment"
fi

我希望看到我的环境设置为这样,这是从命令行运行时发生的情况:

(my_env) bootys@ThisPC:~/MyScripts$

但即使退出状态检查返回成功,也没有任何更改。你知道吗

脚本是否在子shell中运行?如果是这样的话,从脚本中获取环境的做法是什么?你知道吗


Tags: to命令行echoenv脚本sourcehomebin
1条回答
网友
1楼 · 发布于 2024-10-03 06:22:21

source表示“在当前shell中执行脚本”,这就是source bin/activate工作的原因;它更新当前shell中的环境变量。你知道吗

但是当您运行一个单独的脚本时,它将启动一个新的子shell。然后在子shell中运行activate脚本,将环境设置为新的virtualenv,但它随后退出,使当前shell保持原样。你知道吗

当然,您可以通过source执行脚本,但此时您最好直接为activate脚本提供源代码。你知道吗

相关问题 更多 >