def get_setuptools_install_scripts_dir(): dist = Distribution({"cmdclass": {"install": OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary, but to be safe dist.parse_config_files() command = dist.get_command_obj("install") command.ensure_finalized() command.run() return dist.install_scripts
def get_script_dir(): dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary, but to be safe dist.parse_config_files() command = dist.get_command_obj('install') command.ensure_finalized() command.run() return dist.install_scripts
def get_setuptools_script_dir(): " Get the directory setuptools installs scripts to for current python " dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary dist.parse_config_files() command = dist.get_command_obj('install') command.ensure_finalized() command.run() return dist.install_scripts
def get_python_bin_path(): " Get the directory setuptools installs scripts to for current python " dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary dist.parse_config_files() command = dist.get_command_obj('install') command.ensure_finalized() command.run() return dist.install_scripts
def get_setuptools_script_dir(): """ Find where setuptools will have installed the `microservice` entrypoint executable to. :return: Path to the setuptools script directory. """ dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary, but to be safe dist.parse_config_files() command = dist.get_command_obj('install') command.ensure_finalized() command.run() return dist.install_scripts
def get_setuptools_script_dir(): """Summary. Returns: TYPE: Description """ dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary dist.parse_config_files() command = dist.get_command_obj('install') command.ensure_finalized() command.run() return dist.install_scripts
def get_setuptools_script_dir(): # Run the above class just to get paths dist = Distribution({'cmdclass': {'install': GetPaths}}) dist.dry_run = True dist.parse_config_files() command = dist.get_command_obj('install') command.ensure_finalized() command.run() src_dir = glob(os.path.join(dist.install_libbase, 'pomoxis-*', 'exes'))[0] for exe in (os.path.join(src_dir, x) for x in os.listdir(src_dir)): print("Copying", os.path.basename(exe), '->', dist.install_scripts) shutil.copy(exe, dist.install_scripts) return dist.install_libbase, dist.install_scripts
def getprefix(self): '''Retrieve setup tool calculated prefix :returns: prefix :rtype: string ''' dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}}) dist.dry_run = True # not sure if necessary, but to be safe dist.parse_config_files() try: dist.parse_command_line() except (distutils.errors.DistutilsArgError, AttributeError): pass command = dist.get_command_obj('install') command.ensure_finalized() command.run() prefix = dist.install_scripts.replace('/bin', '') return prefix
def run(self): """ Print desired path (according to subclass) to stdout. Unfortunately, setuptools automatically prints "running scriptdir" on stdout. So, for example, the output will look like this (for example): running scriptdir /usr/local/bin The shell command `tail` can be used to get only the relevant line: `python setup.py scriptdir | tail --lines=1` """ # pylint: disable=no-self-use # Create fake install to get a setuptools script directory path. dist = Distribution({"cmdclass": {"install": _ScriptDirSpy}}) dist.dry_run = True dist.parse_config_files() command = dist.get_command_obj("install") command.ensure_finalized() command.run() print(self.get_dir_from_distribution(dist))