在 Makefile 上停用 virtualenv
Posted
技术标签:
【中文标题】在 Makefile 上停用 virtualenv【英文标题】:deactivate virtualenv on Makefile 【发布时间】:2014-11-22 13:30:54 【问题描述】:我正在编写一个 Makefile,我想在 Makefile 中调用 virtualenvwrapper 命令“deactivate”。
这个线程How to leave/exit/deactivate a python virtualenv?的anwser有一条评论说“deactivate”命令不是二进制文件,也不是脚本,它是你激活你的virtualenv时创建的一个dinamyc别名shell。
那么,我该怎么做呢?
【问题讨论】:
【参考方案1】:正如virtualenvwrapper code 中所见,deactivate 是一个函数,当您使用 workon 时,它会被引入到您的环境中。
我认为,出于安全原因,make 不会将 Makefile 内部的访问权限授予当前用户函数和别名。所以,在你的 Makefile 中,你应该获取 virtualenvwrapper.sh,在你想要的 virtualenv 上工作,然后你就可以访问你的 deactivate 命令了。
作为 axe 您的 Makefile 中的目标和 brings_axe 您已经拥有的 virtualenv,您应该执行以下操作:
axe:
source virtualenvwrapper.sh; workon brings_axe; deactivate
【讨论】:
以上是关于在 Makefile 上停用 virtualenv的主要内容,如果未能解决你的问题,请参考以下文章
无法在 virtualenv 中导入 django,但在停用时可以工作
无法在 Jupyter notebook python 中停用 virtualenv