How to run 'python setup.py install' from within Python?

后端 未结 6 1930
隐瞒了意图╮
隐瞒了意图╮ 2021-02-05 17:15

I\'m trying to create a generic python script for starting up a python app and I would like to install any dependent python modules if they are missing from the target system.

6条回答
  •  庸人自扰
    2021-02-05 17:55

    This works for me (py2.7)
    I have a optional module with its setup.py in a subfolder of the main project.

    from distutils.core import run_setup [..setup(..) config of the main project..] run_setup('subfolder/setup.py', script_args=['develop',],stop_after='run')

    Thanks

    Update:
    Digging a while you can find in distutils.core.run_setup

    'script_name' is a file that will be run with 'execfile()';
    'sys.argv[0]' will be replaced with 'script' for the duration of the
    call.  'script_args' is a list of strings; if supplied,
    'sys.argv[1:]' will be replaced by 'script_args' for the duration of
    the call.
    

    so the above code shold be changed to

    import sys
    from distutils.core import run_setup
    run_setup('subfolder/setup.py', script_args=sys.argv[1:],stop_after='run')
    

提交回复
热议问题