gpt4 book ai didi

python - autoenv 甚至在子文件夹中执行

转载 作者:太空狗 更新时间:2023-10-29 21:03:26 24 4
gpt4 key购买 nike

我使用 autoenv用于自动 virtualenv 激活。 Python 项目的顶级文件夹有包含以下内容的 .env 文件

source venv/bin/activate

每当 cd 到项目的任何子文件夹时,都会执行此命令。然后抛出

-bash: venv/bin/activate: No such file or directory

它失败了,因为它正在尝试相对于子文件夹执行activate。为什么它甚至在子文件夹中执行?如何解决问题?

最佳答案

今天有这个问题。当前的答案没有解决每次您 cd 进入子文件夹或返回根文件夹时都会激活环境的事实。使用以下 .env 脚本解决了它:

venv=venv
currentvenv=""

if [[ $VIRTUAL_ENV != "" ]]
then
# Strip out the path and just leave the env name
currentvenv="${VIRTUAL_ENV##*/}"
fi

if [[ "$currentvenv" != "$venv" ]]
then
echo "Switching to environment: $venv"
workon $venv
#else
# echo "Already on environment $venv"
fi

venv 替换为您的环境名称。您可以取消注释 else block 以查看它不会每次都尝试激活环境,前提是所需的环境已经激活。

注意:如果您没有使用 virtualenvwrapper,那么您应该将 workon 命令替换为您用来激活虚拟环境的任何命令。不过,我确实建议使用 virtualenvwrapper

关于python - autoenv 甚至在子文件夹中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22839934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com