- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用 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/
我使用 autoenv用于自动 virtualenv 激活。 Python 项目的顶级文件夹有包含以下内容的 .env 文件 source venv/bin/activate 每当 cd 到项目的任何
我已经使用 pip install 在 Windows 7 上安装了 virtualenv 和 autoenv: pip install virtualenv pip install autoenv
我已经接触过这两种工具,但它们似乎有相同的目的。我的问题是它们是否不同?如果不同,是如何不同的? 在我的研究中,autoenv 的范围是全局的,而 dotenv 的范围更具体一些。虽然这在许多情况下似
我是一名优秀的程序员,十分优秀!