在 Makefile 上停用 virtualenv

her*_*ara 5 makefile virtualenvwrapper

我正在编写一个 Makefile,我想在 Makefile 中调用 virtualenvwrapper 命令“deactivate”。

该线程的答案How to left/exit/deactivate a python virtualenv? 有一条评论说“deactivate”命令不是二进制文件,也不是脚本,它是激活 virtualenv 时创建的 dinamyc 别名 shell。

那么,我该怎么做呢?

And*_*sto 4

如virtualenvwrapper 代码中所示,deactivate 是一个在您使用 workon 时源自您的 env 的函数。

我认为,出于安全原因,make 不会授予当前用户函数和别名在 Makefile 中的访问权限。因此,在 Makefile 中,您应该获取 virtualenvwrapper.sh,在您想要的 virtualenv 上工作,然后您就可以访问 deactivate 命令。

作为Makefile 上的ax目标并为您已有的 virtualenv带来 _axe,您应该执行以下操作:

axe:
    source virtualenvwrapper.sh; workon brings_axe; deactivate
Run Code Online (Sandbox Code Playgroud)