在我的package.json
我有一個腳本來激活我的python虛擬環境(我的項目同時使用Python和Nodejs)。我基本上想從npm激活我的虛擬環境。激活虛擬環境不起作用從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
> [email protected] activate /Users/jorgesilvajetter/Sites/2015/caltrain-api
> source ./venv/bin/activate
是否可以通過npm命令激活我的虛擬環境?看來我誤解了虛擬環境的工作原理或npm如何執行腳本。也許,它在另一個會話/標籤中運行腳本?
很酷,這是有道理的。是的,我知道第二部分。我想我只是喜歡那個符號,因爲它明確指出'nodemon'是項目的依賴項,並且不需要全局安裝,但是如果你願意的話,你可以不同意我。 –