1import os
2import sys
3from pythonbrew.basecommand import Command
4from pythonbrew.define import PATH_PYTHONS
5from pythonbrew.util import Package, set_current_path, is_installed
6from pythonbrew.log import logger
7
8class SwitchCommand(Command):
9    name = "switch"
10    usage = "%prog VERSION"
11    summary = "Permanently use the specified python as default"
12
13    def run_command(self, options, args):
14        if not args:
15            self.parser.print_help()
16            sys.exit(1)
17
18        pkg = Package(args[0])
19        pkgname = pkg.name
20        if not is_installed(pkgname):
21            logger.error("`%s` is not installed." % pkgname)
22            sys.exit(1)
23        pkgbin = os.path.join(PATH_PYTHONS,pkgname,'bin')
24        pkglib = os.path.join(PATH_PYTHONS,pkgname,'lib')
25
26        set_current_path(pkgbin, pkglib)
27
28        logger.info("Switched to %s" % pkgname)
29
30SwitchCommand()
31