【发布时间】:2018-08-02 17:48:12
【问题描述】:
我正在编写一个 Node 脚本,在其中使用 pip 安装 Python 模块。我想激活一个 virtualenv,然后在该 virtualenv 中安装 pip 模块。我可以执行以下操作:
proc.execFile("virtualenv", { args: "venv" }, function() { proc.execFile("source", { args: "venv/bin/activate" }, function() { proc.execFile("pip", { args: ["install", "myPipModule"]}, function() { // 做东西 }); }); });这样做的问题是它会丢失我的 virtualenv 的上下文,因此不会将模块安装在我想要的位置。如何在我的 Node 脚本中保留我的 virtualenv 的上下文,以便 pip install 将模块放在正确的位置?
注意:类似于this question for Python,但我使用的是Node。
【问题讨论】:
-
对node不太熟悉,但看起来你基本上是在运行命令行。你能运行类似
proc.execFile("workon", {args:"<VENV_NAME>"})的东西吗?我想这假设你有 virtualenvwrapper。 -
答案与您指出的问题相同-您无需激活虚拟环境即可在其中运行
pip-您只需使用虚拟环境中的python带有完整路径。 -
????当然!来吧,把它变成一个完整的答案,我会接受它。
标签: python node.js virtualenv