如何在我的 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...
我正在尝试创建一个自动化程序来设置我的 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...