def run_command(self, options, args): if not args or len(args) > 1: self.parser.print_help() return pkg = Package(args[0], options.type) pkgname = pkg.name if not is_installed(pkg): logger.error("`%s` is not installed." % pkgname) return logger.log(os.path.join(PATH_PYTHONS, pkgname, 'bin', 'python'))
def run_command(self, options, args): if args: # Uninstall pythons for arg in args: pkg = Package(arg, options.type) pkgname = pkg.name if not is_installed(pkg): logger.error("`%s` is not installed." % pkgname) continue rm_r(os.path.join(PATH_PYTHONS, pkgname)) else: self.parser.print_help()
def run_command(self, options, args): if not args or len(args) > 1: self.parser.print_help() sys.exit(1) pkg = Package(args[0], options.type) pkgname = pkg.name if not is_installed(pkg): logger.error("`%s` is not installed." % pkgname) sys.exit(1) for bin in ('python3', 'python', 'pypy3', 'pypy'): path = os.path.join(PATH_PYTHONS, pkgname, 'bin', bin) if os.path.exists(path): break else: # fallback path = os.path.join(PATH_PYTHONS, pkgname, 'bin', 'python') logger.log(path)
def locate_python_by_version(version, pytype): """ Save the user a little typing and attempt to find the installed Python path given just the version number. E.g., 3.4.3 -> /home/user/.pythonz/pythons/CPython-3.4.3/bin/python3 Only intended to find pythons installed by Pythonz. Windows is therefore unsupported. :param version: numerical version (e.g., 2.7.10, 3.5.1) :param pytype: Python implementation (e.g., cpython, pypy) :returns: path string or None """ path = None if windows: return path pkg = Package(version, pytype) if is_installed(pkg): for bin in ('python3', 'python', 'pypy3', 'pypy'): guess = os.path.join(PATH_PYTHONS, pkg.name, 'bin', bin) if os.path.exists(guess): path = guess break return path