def install(self, environ, version, strict=False, locally=True): if not self.found: if version is None: version = self.version short_ver = '.'.join(version.split('.')[:2]) py_ver = ''.join(get_python_version()) brew_extra = '' win_extra = '32' if platform.architecture()[0] == '64bit': brew_extra = ' --devel' win_extra = '64' website = ('http://sourceforge.net/projects/wxpython/', 'files/wxPython/' + str(version) + '/') ## NOTE: no local install due to complex platform dependencies global_install('wxPython', website, winstaller='wxPython' + short_ver + '-win' + \ win_extra + '-' + str(version) + '-py' + \ py_ver + '.exe', brew='--python wxmac' + brew_extra, port='py' + py_ver + '-wxpython', deb='python-wxgtk python-wxtools', rpm='wxPython-devel') if system_uses_homebrew(): target = os.path.join(homebrew_prefix(), 'lib', 'python'+'.'.join(get_python_version()), 'site-packages', 'wx') if not os.path.exists(target): os.symlink(glob.glob(os.path.join(homebrew_prefix(), 'lib', 'python2.6', 'site-packages', 'wx-*', 'wx'))[0], target) if not self.is_installed(environ, version, strict): raise Exception('wxpython installation failed.')
def python_sys_executables(): return glob.glob( os.path.join(homebrew_prefix(), 'Cellar', 'python', '*', 'Frameworks', 'Python.framework', 'Versions', '*', 'bin', 'python*')) + \ glob.glob(os.path.join(homebrew_prefix(), 'Cellar', 'python', '*', 'Frameworks', 'Python.framework', 'Versions', '*', 'Resources', 'Python.app', 'Contents', 'MacOS', 'Python'))
def switch_python(): """Magically switch to homebrew python""" env = os.environ.copy() env['PATH'] = os.path.join(homebrew_prefix(), 'share', 'python') + \ os.pathsep + os.path.join(homebrew_prefix(), 'bin') + \ os.pathsep + env.get('PATH', []) sys.stdout.write('Switching to Homebrew Python ') if options.VERBOSE: sys.stdout.write(python_executable() + ' ' + ' '.join(sys.argv)) sys.stdout.write('\n\n') sys.stdout.flush() os.execve(python_executable(), [python_executable()] + sys.argv, env)
def python_executable(): return os.path.join(homebrew_prefix(), 'bin', 'python')
def pip_executable(): return os.path.join(homebrew_prefix(), 'bin', 'pip')