Max*_*len 6 python setup.py npm
我实现了一个我想测试的python web客户端.
服务器托管在npm注册表中.在运行我的功能测试之前,服务器在本地运行节点.
如何从setup.py脚本中正确安装npm模块?
这是我目前的解决方案灵感来自这篇文章:
class CustomInstallCommand(install):
def run(self):
arguments = [
'npm',
'install',
'--prefix',
'test/functional',
'promisify'
]
subprocess.call(arguments, shell=True)
install.run(self)
setup(
cmdclass={'install': CustomInstallCommand},
Run Code Online (Sandbox Code Playgroud)
from setuptools.command.build_py import build_py
class NPMInstall(build_py):
def run(self):
self.run_command('npm install --prefix test/functional promisify')
build_py.run(self)
Run Code Online (Sandbox Code Playgroud)
要么
from distutils.command.build import build
class NPMInstall(build):
def run(self):
self.run_command("npm install --prefix test/functional promisify")
build.run(self)
Run Code Online (Sandbox Code Playgroud)
最后:
setuptools.setup(
cmdclass={
'npm_install': NPMInstall
},
# Usual setup() args.
# ...
)
Run Code Online (Sandbox Code Playgroud)
还看这里