Example #1
0
def require_clean_submodules():
    """Check on git submodules before distutils can do anything

    Since distutils cannot be trusted to update the tree
    after everything has been set in motion,
    this is not a distutils command.
    """
    # PACKAGERS: Add a return here to skip checks for git submodules

    # don't do anything if nothing is actually supposed to happen
    for do_nothing in ('-h', '--help', '--help-commands', 'clean',
                       'submodule'):
        if do_nothing in sys.argv:
            return

    status = check_submodule_status(here)

    if status == "missing":
        print("checking out submodules for the first time")
        update_submodules(here)
    elif status == "unclean":
        print('\n'.join([
            "Cannot build / install IPython with unclean submodules",
            "Please update submodules with", "    python setup.py submodule",
            "or", "    git submodule update",
            "or commit any submodule changes you have made."
        ]))
        sys.exit(1)
Example #2
0
def require_clean_submodules():
    """Check on git submodules before distutils can do anything

    Since distutils cannot be trusted to update the tree
    after everything has been set in motion,
    this is not a distutils command.
    """
    # PACKAGERS: Add a return here to skip checks for git submodules
    
    # don't do anything if nothing is actually supposed to happen
    for do_nothing in ('-h', '--help', '--help-commands', 'clean', 'submodule'):
        if do_nothing in sys.argv:
            return

    status = check_submodule_status(here)

    if status == "missing":
        print("checking out submodules for the first time")
        update_submodules(here)
    elif status == "unclean":
        print('\n'.join([
            "Cannot build / install IPython with unclean submodules",
            "Please update submodules with",
            "    python setup.py submodule",
            "or",
            "    git submodule update",
            "or commit any submodule changes you have made."
        ]))
        sys.exit(1)
Example #3
0
def ensure_submodules_exist():
    """Check out git submodules before distutils can do anything
    
    Because distutils cannot be trusted to update the tree
    after everything has been set in motion.
    """
    # don't do anything if nothing is actually supposed to happen
    for do_nothing in ('-h', '--help', '--help-commands', 'clean'):
        if do_nothing in sys.argv:
            return
    if not check_for_submodules():
        update_submodules()
Example #4
0
def ensure_submodules_exist():
    """Check out git submodules before distutils can do anything
    
    Because distutils cannot be trusted to update the tree
    after everything has been set in motion.
    """
    # don't do anything if nothing is actually supposed to happen
    for do_nothing in ('-h', '--help', '--help-commands', 'clean'):
        if do_nothing in sys.argv:
            return
    if not check_for_submodules():
        update_submodules()
Example #5
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""IPython -- An enhanced Interactive Python

The actual ipython script to be installed with 'python setup.py install' is
generated by setuptool via the `console_scripts` mechanism.  This file is here
(ipython source root directory) to facilitate non-root 'zero-installation'
(just copy the source tree somewhere and run ipython.py) and development.

"""

if __name__ != "__main__":
    raise RuntimeError('You are trying to import the ipython.py executable. '
            'Did you mean to call "import IPython" (case-sensitive) instead?')

# Ensure that the imported IPython is the local one, not a system-wide one
import os, sys
this_dir = os.path.dirname(sys.argv[0])
sys.path.insert(0, this_dir)

from setupbase import check_for_submodules, update_submodules

if not check_for_submodules():
    update_submodules()


# Now proceed with execution
execfile(os.path.join(
    this_dir, 'IPython', 'scripts', 'ipython'
))