2017-03-12 14 views
5

मैंने एक पायथन वेब क्लाइंट लागू किया जिसे मैं परीक्षण करना चाहता हूं।कैसे सेटअप.py एनपीएम मॉड्यूल स्थापित करें?

सर्वर एनपीएम रजिस्ट्री में होस्ट किया गया है। मेरे कार्यात्मक परीक्षण चलाने से पहले सर्वर नोड के साथ स्थानीय रूप से भाग गया है।

मैं अपने setup.py स्क्रिप्ट से ठीक से एनपीएम मॉड्यूल कैसे स्थापित कर सकता हूं?

यहाँ मेरे वर्तमान समाधान इस post से प्रेरित है:

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}, 

उत्तर

5
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) 

या

+०१२३५१६४१०६१
from distutils.command.build import build 

class NPMInstall(build): 
    def run(self): 
     self.run_command("npm install --prefix test/functional promisify") 
     build.run(self) 

अंत में:

setuptools.setup(
    cmdclass={ 
     'npm_install': NPMInstall 
    }, 
    # Usual setup() args. 
    # ... 
) 

भी देखने here

1

तुम बहुत करीब हैं, यहाँ एक सरल समारोह करता है कि बस, आप निकाल सकते हैं कि "--global" विकल्प आप स्थापित करना चाहते है वर्तमान परियोजना के लिए पैकेज केवल, आदेश खोल ध्यान में रखना = सच सुरक्षा उपस्थित हो सकते हैं जोखिम

import subprocess 
def npm_install(args=["npm","--global", "install", "search-index"]) 
    subprocess.Popen(args, shell=True) 
संबंधित मुद्दे