(遵循Marina Mele的任务炸弹Django教程)
virtualenv被称为tb_test。在$ VIRTUAL_ENV / bin /(〜/ .virtualenvs / tb_test)中,我从$ WORKON_HOME中的常规hooks文件夹粘贴了postactivate文件并添加了2行,所以现在它看起来像这样:
$ VIRTUAL_ENV / bin中/ postactivate #!/ bin中/ zsh的 #这个钩子是在每个virtualenv被激活后获得的。
echo "hELo"
export DJANGO_SETTINGS_MODULE="taskbuster.settings.testing"
然而,在运行workon tb_test
时,virtualenv被激活,除了postactivate挂钩之外的所有内容都没有被加载。没有“heLo”回声: - (
答案 0 :(得分:1)
适合我。仔细检查您是否正在使用workon
来激活virtualenv(而非source bin/activate
),并且您确实正在激活正确的virtualenv。
如果仍然无效,请提供有关您的环境的更多信息(操作系统,相关软件包的版本等)。你有没有修改任何其他virtualenv-wrapper钩子?
更新:
也许你在错误的路径中创建了钩子?如果您使用mkvirtualenv
创建virtualenv,它应该在适当的位置为您创建postactivate
文件,因此您只需编辑它。它应该在这个位置:
~/.virtualenvs/tb_test/bin/postactivate
澄清:~/.virtualenvs/tb_test/postactivate
答案 1 :(得分:0)
我知道这个问题发布已经有一段时间了,但是现在Mac OS Catalina在更多设备中使用,ZSH作为默认外壳。
嗯,我遇到了同样的问题,无法激活环境变量。
按照这里的提示进行的工作是什么:VirtualEnvWrapper Tips
在其中,提示之一建议在执行rehash
之后添加echo $variables
命令。并做到了。
以下是我的postactivate
或preactivate
文件,以防万一:
### ~/.virtualenvs/MY_ENV/bin/post(pre)activate ###
echo 'export DJANGO_SETTINGS_MODULE=MY_SETTINGS' >> ~/.zshenv
echo 'export SECRET_KEY=MY_SECRET' >> ~/.zshenv
echo rehash
与postdeactivate
和或predeactivate
相同
我花了一些时间找到这个提示,因此希望这对另一个无助的开发人员有所帮助。