whusnoopy npm 没有啥虚拟空间吧,就算 cd 进对应文件夹,which npm 和 which node 的结果也是一样的。但 python 的虚拟环境激活后,which python 结果就不一样了(虽然也是个软链接),是伪全局。感觉 requipments.txt 比起 package.json 还差点。npm init 的时候就创建了 package.json ,使用 npm 命令安装、更新、移除依赖还会同步更改 package.json 。而 requirements.txt 则需要手动编写,自动导出还会弄出一些隐式存在的包。具体实现先放一边,主要看设计思路。npm 放本地的做法明显更适合工程、项目。按理来说,全局安装也有相应的好处。就是方便共享,对于脚本程序确实很合适。但问题是,实操下来,python 相关库的版本兼容性问题很大,甚至 python 自己的版本也很重要。常常需要创建新的虚拟环境,这种时候全局的方式就很不实用。