我正在编写一个 bash 脚本,需要使用
virtualenv
启动服务。我想象我的 bash 脚本看起来像这样:
#!/bin/bash
source /root/user/python-ev/bin/activate
IPYTHON_OPTS="notebook --port 8889 --profile pyspark" pyspark --master spark://701.datafireball.com:7077
但是,我想在
activate
和 IPYTHON...
之间添加一行以确保环境已被激活。 shell 中是否有一个环境变量/命令可以告诉我是否在 virtualenv 中,如果是,是哪一个?
我可以硬编码来打印 Python 路径,如果我在 virtualenv 内,它应该指向自定义的 Python 解释器,但我不确定这是否是正确的方法。
您可以检查环境变量VIRTUAL_ENV并查看它是否具有正确的源路径。现在,如果它不存在,那么您就知道它没有被激活。如果是的话,你需要检查它是否有正确的路径。
用于检查变量是否设置的正确 bash 代码片段如下
if [[ -z "$VIRTUAL_ENV" ]]; then
echo "No VIRTUAL_ENV set"
else
echo "VIRTUAL_ENV is set"
fi