コード例 #1
0
ファイル: magic.py プロジェクト: ysalmon/pyzo
 def conda(self, line, command):
     
     if not (command == 'CONDA' or command.startswith('CONDA ')):
         return
     
     # Get command args
     args = line.split(' ')
     args = [w for w in args if w]
     args.pop(0) # remove 'conda'
     
     # Stop if user does "conda = ..."
     if args and '=' in args[0]:
         return
     
     # Add channels when using install, this gets added last, so
     # that user-specified channels take preference
     channel_list = []
     if args and args[0] == 'install':
         channel_list = ['-c', 'conda-forge', '-c', 'pyzo']
     
     def write_no_dots(x):
         if x.strip() == '.':  # note, no "x if y else z" in Python 2.4
             return 0
         return stderr_write(x)
     
     # Go!
     # Weird double-try, to make work on Python 2.4
     oldargs = sys.argv
     stderr_write = sys.stderr.write
     try:
         try:
             # older version of conda would spew dots to stderr during downloading
             sys.stderr.write = write_no_dots
             import conda  # noqa
             from conda.cli import main
             sys.argv = ['conda'] + list(args) + channel_list
             main()
         except SystemExit:  # as err:
             type, err, tb = sys.exc_info(); del tb
             err = str(err)
             if len(err) > 4:  # Only print if looks like a message
                 print(err)
         except Exception:  # as err:
             type, err, tb = sys.exc_info(); del tb
             print('Error in conda command:')
             print(err)
     finally:
         sys.argv = oldargs
         sys.stderr.write = stderr_write
     
     return ''
コード例 #2
0
ファイル: helpers.py プロジェクト: Studiogit/conda
def capture_with_argv(*argv):
    sys.argv = argv
    stdout, stderr = StringIO(), StringIO()
    oldstdout, oldstderr = sys.stdout, sys.stderr
    sys.stdout = stdout
    sys.stderr = stderr
    try:
        cli.main()
    except SystemExit:
        pass
    sys.stdout = oldstdout
    sys.stderr = oldstderr

    stdout.seek(0)
    stderr.seek(0)
    return stdout.read(), stderr.read()
コード例 #3
0
ファイル: helpers.py プロジェクト: jaimergp/conda
def run_inprocess_conda_command(command):
    reset_context(())
    with argv(split(command)), captured() as c:
        initialize_logging()
        try:
            exit_code = cli.main()
        except SystemExit:
            pass
    print(c.stderr, file=sys.stderr)
    print(c.stdout)
    return c.stdout, c.stderr, exit_code
コード例 #4
0
ファイル: common.py プロジェクト: conda/conda-js
def run(cmdList):
    # Avoid subprocess overhead
    # TODO: benchmark vs subprocess

    if '--dummy' in sys.argv:
        print(cmdList)
        return ''

    from conda import cli
    stdout = StringIO()
    old = sys.stdout
    sys.stdout = stdout
    sys.argv = cmdList
    try:
        cli.main()
    except SystemExit:
        pass
    sys.stdout = old
    stdout.seek(0)
    return stdout.read()
コード例 #5
0
ファイル: magic.py プロジェクト: pombredanne/MITH_Session
    def conda(self, line, command):

        if not (command == "CONDA" or command.startswith("CONDA ")):
            return

        # Get command args
        args = line.split(" ")
        args = [w for w in args if w]
        args.pop(0)  # remove 'conda'

        # Stop if user does "conda = ..."
        if args and "=" in args[0]:
            return

        # Go!
        # Weird double-try, to make work on Python 2.4
        oldargs = sys.argv
        try:
            try:
                import conda
                from conda.cli import main

                sys.argv = ["conda"] + list(args)
                if args and args[0] in ("install", "update", "remove"):
                    self._check_imported_modules()
                main()
            except SystemExit:  # as err:
                type, err, tb = sys.exc_info()
                del tb
                err = str(err)
                if len(err) > 4:  # Only print if looks like a message
                    print(err)
            except Exception:  # as err:
                type, err, tb = sys.exc_info()
                del tb
                print("Error in conda command:")
                print(err)
        finally:
            sys.argv = oldargs

        return ""
コード例 #6
0
ファイル: helpers.py プロジェクト: alanhdu/conda
def run_inprocess_conda_command(command, disallow_stderr=True):
    # anything that uses this function is an integration test
    reset_context(())
    with argv(split(command)), captured(disallow_stderr) as c:
        initialize_logging()
        try:
            exit_code = cli.main()
        except SystemExit:
            pass
    print(c.stderr, file=sys.stderr)
    print(c.stdout)
    return c.stdout, c.stderr, exit_code
コード例 #7
0
ファイル: helpers.py プロジェクト: HugoTian/conda
def capture_with_argv(*argv):
    # only used in capture_json_with_argv()
    sys.argv = argv
    stdout, stderr = StringIO(), StringIO()
    oldstdout, oldstderr = sys.stdout, sys.stderr
    sys.stdout = stdout
    sys.stderr = stderr
    try:
        cli.main()
    except SystemExit:
        pass
    sys.stdout = oldstdout
    sys.stderr = oldstderr

    stdout.seek(0)
    stderr.seek(0)
    stdout, stderr = stdout.read(), stderr.read()

    print(stdout)
    print(stderr, file=sys.stderr)
    return stdout, strip_expected(stderr)
コード例 #8
0
ファイル: helpers.py プロジェクト: mingwandroid/conda
def run_inprocess_conda_command(command, disallow_stderr=True):
    # anything that uses this function is an integration test
    reset_context(())
    # May want to do this to command:
    with argv(encode_arguments(shlex_split_unicode(command))), captured(disallow_stderr) as c:
        initialize_logging()
        try:
            exit_code = cli.main(*sys.argv)
        except SystemExit:
            pass
    print(c.stderr, file=sys.stderr)
    print(c.stdout)
    return c.stdout, c.stderr, exit_code
コード例 #9
0
ファイル: helpers.py プロジェクト: Mirashri/conda
def capture_with_argv(*argv):
    sys.argv = argv
    stdout, stderr = StringIO(), StringIO()
    oldstdout, oldstderr = sys.stdout, sys.stderr
    sys.stdout = stdout
    sys.stderr = stderr
    try:
        cli.main()
    except SystemExit:
        pass
    sys.stdout = oldstdout
    sys.stderr = oldstderr

    stdout.seek(0)
    stderr.seek(0)
    stdout, stderr = stdout.read(), stderr.read()

    print('>>>>>>>>> stdout >>>>>>>>>')
    print(stdout)
    print('>>>>>>>>> stderr >>>>>>>>>')
    print(stderr)
    print('>>>>>>>>>')
    return stdout, strip_expected(stderr)
コード例 #10
0
def capture_with_argv(*argv):
    sys.argv = argv
    stdout, stderr = StringIO(), StringIO()
    oldstdout, oldstderr = sys.stdout, sys.stderr
    sys.stdout = stdout
    sys.stderr = stderr
    try:
        cli.main()
    except SystemExit:
        pass
    sys.stdout = oldstdout
    sys.stderr = oldstderr

    stdout.seek(0)
    stderr.seek(0)
    stdout, stderr = stdout.read(), stderr.read()

    print('>>>>>>>>> stdout >>>>>>>>>')
    print(stdout)
    print('>>>>>>>>> stderr >>>>>>>>>')
    print(stderr)
    print('>>>>>>>>>')
    return stdout, stderr
コード例 #11
0
# -*- coding: utf-8 -*-
import sys
# Before any more imports, leave cwd out of sys.path for internal 'conda shell.*' commands.
# see https://github.com/conda/conda/issues/6549
if len(sys.argv) > 1 and sys.argv[1].startswith(
        'shell.') and sys.path and sys.path[0] == '':
    # The standard first entry in sys.path is an empty string,
    # and os.path.abspath('') expands to os.getcwd().
    del sys.path[0]

if __name__ == '__main__':
    from conda.cli import main
    sys.exit(main())
コード例 #12
0
ファイル: conda-script.py プロジェクト: DamirAinullin/PTVS
# -*- coding: utf-8 -*-
import re
import sys

from conda.cli import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())
コード例 #13
0
ファイル: version.py プロジェクト: mckayward/floyd-cli
def conda_upgrade():
    conda_cli.main("install", "-y", "-c", "floydhub", "-c", "conda-forge", "floyd-cli")
コード例 #14
0
def execute_conda_cmd(args):
    from conda.cli import main
    with patch.object(sys, 'argv', args):
        return main()