【发布时间】:2015-08-23 21:18:48
【问题描述】:
在我的package.json 中,我有一个脚本来激活我的 python 虚拟环境(我的项目同时使用 Python 和 Nodejs)。我基本上想从 npm 激活我的虚拟环境。
"scripts": {
"babel-node": "babel-node --stage 0 --ignore='foo|bar|baz'",
"test": "export NODE_ENV='test'; ./node_modules/mocha/bin/mocha --compilers js:babel/register server/test/index.js",
"dev": "./node_modules/nodemon/bin/nodemon.js --exec npm run babel-node -- server/index.js",
"activate": "source ./venv/bin/activate",
"import": "python scraper -g -i -db caltrain_test && python ./scraper -g -i",
"start": "node ./server",
"docs": "cp README.md docs/index.md && ./node_modules/docco/bin/docco --layout=linear ./docs/index.md"
},
如果我直接从命令行激活我的虚拟环境,它可以工作:
jorgesilvajetter at Jorges-MacBook-Pro-2 in ~/Sites/2015/caltrain-api on master [!?$]
$ source venv/bin/activate
(venv) // This means that it worked!
但是,如果我从 npm 运行相同的命令,它就不起作用:
jorgesilvajetter at Jorges-MacBook-Pro-2 in ~/Sites/2015/caltrain-api on master [!?$]
$ npm run activate
> caltrain-api@0.0.3 activate /Users/jorgesilvajetter/Sites/2015/caltrain-api
> source ./venv/bin/activate
是否可以通过 npm 命令激活我的虚拟环境?似乎我对虚拟环境的工作方式或 npm 如何执行脚本有误解。也许,它正在另一个会话/选项卡中运行脚本?
【问题讨论】:
-
你真的解决了这个问题吗?我遇到了同样的问题。我希望我可以将 npm 用于所有事情
-
好像不可能:(
标签: python node.js shell npm pip