繁体   English   中英

如何在我的 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 $2
cd $FILEPATH/$2
echo $FILEPATH/$2
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 中设置为我想要创建新文件夹的目录。

解决方案1,使用前缀

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

解决方案2,使用函数

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

activate
# etc...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM