예제 #1
0
 def run_actions(self, actions):
     for action in actions:
         if isinstance(action, InstallAction):
             ui.info('Installing', ui.dep(action.dependency))
             command = InstallCommand()
             with pip_progress():
                 command.main([
                     '--no-deps',
                     '--index-url', self.index_url,
                     '--prefix', self.virtualenv,
                     '--ignore-installed',
                     '--upgrade',
                     str(action.dependency)
                 ])
         if isinstance(action, SaveAction):
             self.requirements.add(action.spec)
         if isinstance(action, FailAction):
             sys.exit(1)
         if isinstance(action, RemoveAction):
             ui.info('Removing', ui.pkg(action.package))
             entries = action.package.metadata.get_metadata('RECORD').splitlines()
             for line in entries:
                 path = line.split(',')[0]
                 path = os.path.join(self.site_packages, path)
                 if os.path.exists(path):
                     os.unlink(path)
                     if len(os.listdir(os.path.split(path)[0])) == 0:
                         os.rmdir(os.path.split(path)[0])
예제 #2
0
def install(install_dir, egg, url):

    initial_args = ['install',
        '--install-option=--install-purelib={}'.format(install_dir),
        url]


    try:
        # This version works for Pip 6.
        from pip.commands import InstallCommand

        cmd_name, options = pip.parseopts(initial_args)

        command = InstallCommand()
        return command.main(options)
    except:
        pass

    try:
        # An earlier version of pip
        cmd_name, options, args, parser = pip.parseopts(initial_args)

        command = InstallCommand(parser)
        return command.main(args[1:], options)

    except ValueError:
        from pip.commands import commands

        cmd_name, cmd_args = pip.parseopts(initial_args)
        command = commands[cmd_name]()
        return command.main(cmd_args)
예제 #3
0
파일: packages.py 프로젝트: kball/ambry
def install(install_dir, egg, url):

    initial_args = ["install", "--install-option=--install-purelib={}".format(install_dir), url]
    cmd_name, options, args, parser = pip.parseopts(initial_args)

    command = InstallCommand(parser)
    return command.main(args[1:], options)
예제 #4
0
파일: packages.py 프로젝트: Gudinya/ambry
def install(install_dir, egg, url):

    initial_args = [
        'install', '--install-option=--install-purelib={}'.format(install_dir),
        url
    ]

    try:
        # An earlier version of pip
        cmd_name, options, args, parser = pip.parseopts(initial_args)

        command = InstallCommand(parser)
        return command.main(args[1:], options)

    except ValueError:
        from pip.commands import commands
        cmd_name, cmd_args = pip.parseopts(initial_args)
        command = commands[cmd_name]()
        return command.main(cmd_args)

    raise Exception()
예제 #5
0
파일: __init__.py 프로젝트: jhermann/pipx
def install(args, update=False, register=True):
	c = InstallCommand()
	dev = False
	try:
		dev_option_index = args.index("-d") or args.index("--dev")
		dev = True
		args.pop(dev_option_index)
	except ValueError:
		pass

	options, packages = separate_packages_n_options(c, args)
	for pkg in packages:
		if pkg == "install":
			continue
		per_package_args = [pkg] + options
		if update:
			per_package_args.append("--upgrade")

		if c.main(per_package_args) == 0 and register:
			register_dependency(pkg, dev=dev)