[英]Install npm packages in Python virtualenv
我想在Python virtualenv中安裝一些npm軟件包。 例如:
到目前為止,我只找到了在virtualenv中安裝這些東西的復雜方法:為它們創建一個python包。
有沒有更簡單的方法來在Python virtualenv中安裝npm軟件包?
NPM和pip彼此無關,因此您將無法在virtualenv中安裝NPM包。
但是: NPM在./node_modules
安裝軟件包 。
所以如果你創建了virtualenv並在其中安裝了npm模塊
virtualenv myproj
cd myproj
source bin/activate
npm install pdfjs-dist jquery-ui
你將最終獲得myproj/node_modules
的節點包,這與“在virtualenv中安裝NPM”非常接近。
您可以使用nodeenv在python virtuaenv上安裝NPM軟件包。
source ./bin/activate
pip install nodeenv
nodeenv -p
測試是否有效:
npm install -g npm
npm -v
資料來源:
https://pypi.org/project/nodeenv/
https://calvinx.com/2013/07/11/python-virtualenv-with-node-environment-via-nodeenv/
正如@Josir建議的那樣,我過去使用過nodeenv
,但是當我想在項目的venv
文件夾中包含節點模塊時,我遇到了一個問題,如本問題所述 。
簡而言之,將一個package.json
放入venv
導致無法使用venv
npx ...
除非它從venv
文件夾運行,而將package.json
放入venv/lib
並從那里運行npm install
導致能夠使用npx ...
來自項目中的任何文件夾。
這是由於NODE_PATH
環境變量設置為<myproject>/venv/lib/node_modules
。
我創建了一個自動執行此操作的腳本,實際上:
python -m venv venv
source venv/bin/activate
pip install requirements.txt
cp package.json venv/lib
cd venv/lib
nodeenv -p
npm install --no-optional
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.