makefile - 如何使用makefile激活virtualenv?

标签 makefile virtualenv environment activation virtual-environment

在我的生成文件的顶部,我有这一行:

SHELL := /bin/sh

大多数命令都需要它。但是,我还想有一个 make 命令来激活我的虚拟环境,它位于不同的路径上。

这是我为它编写的代码:
activate:
    source ~/.envs/$(APP)/bin/activate; \

问题是,这只是打印出这里写的内容,并没有被执行。我读到它可能与只有 bash 知道源代码有关,但我不知道如何在 activate 中临时切换模式。命令。

我必须如何编写此方法才能激活我的 virtualenv?

最佳答案

它确实被执行了。

Virtualenv 通过修改您当前进程的环境来工作(这就是您必须“获取”它的原因)。但是,一个进程不能修改另一个进程的环境。所以,要运行你的配方,make 调用一个 shell 并将你的 virtualenv 命令传递给它,它工作,然后 shell 退出,你的 virtualenv 消失了。

简而言之,在 makefile 中没有简单的方法可以做到这一点。最简单的做法是创建一个脚本,首先获取 virtualenv,然后运行 ​​make,然后运行它而不是运行 make。

关于makefile - 如何使用makefile激活virtualenv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50409515/

相关文章:

python - 创建从 git 存储库安装的 Python .egg

Python 3 虚拟环境问题

docker - Kubernetes:管理应用程序运行环境

svn - 改善我们的工作发展环境

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

c++ - C++ makefile 的 Netbeans 环境变量

python - 使用 python 3.5 在 centos 6.5 上安装 tkinter

java - 如何使用 jni 构建项目,而无需构建过程重新创建 header ?

linux - 在 makefile 中,将虚假目标声明为通配符

c++ - Cmake import -lpthread 等