如何在我的 bash shell 脚本中同时创建和激活 virtualenv

How to create and activate virtualenv at the same time in my bash shell script

我正在尝试创建一个自动化程序来设置我的 Django 项目。

我能够创建项目文件夹和虚拟环境,但是我不确定该文件夹中的虚拟环境是否已激活。我需要激活虚拟环境才能安装 django。我现在 运行 命令的方式是 ./auto.sh setup <poject_folder_name>,其中 setup 是我的函数的名称。这是函数的内部。

python3 setup.py 
cd $FILEPATH/
echo $FILEPATH/
virtualenv env
source env/bin/activate
  
cd ~/scripts
python3 checker.py

上面代码的最后两行是我尝试检查虚拟环境是否在该文件夹中激活,我总是得到 FAILED 输出。这就是 checker.py 包含的内容。

import sys

if hasattr(sys, 'real_prefix'):
    print('\nOK\n')
else:
    print('\nFAILED\n')

我是 bash 脚本编写的新手,非常感谢任何帮助。

[编辑] FILEPATH 已在我的 .bash_profile 中设置为我希望创建新文件夹的目录。

方案一,使用前缀

VENV="env/bin"
PYTHON="$VENV/python"
# etc...

方案二,使用函数

activate () {
    . `pwd`/env/bin/activate
}

activate
# etc...