Python subprocess.check_call() Examples
The following are 30
code examples of subprocess.check_call().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
subprocess
, or try the search function
.
Example #1
Source File: ssm.py From aegea with Apache License 2.0 | 10 votes |
def ensure_session_manager_plugin(): session_manager_dir = os.path.join(config.user_config_dir, "bin") PATH = os.environ.get("PATH", "") + ":" + session_manager_dir if shutil.which("session-manager-plugin", path=PATH): subprocess.check_call(["session-manager-plugin"], env=dict(os.environ, PATH=PATH)) else: os.makedirs(session_manager_dir, exist_ok=True) target_path = os.path.join(session_manager_dir, "session-manager-plugin") if platform.system() == "Darwin": download_session_manager_plugin_macos(target_path=target_path) elif platform.linux_distribution()[0] == "Ubuntu": download_session_manager_plugin_linux(target_path=target_path) else: download_session_manager_plugin_linux(target_path=target_path, pkg_format="rpm") os.chmod(target_path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) subprocess.check_call(["session-manager-plugin"], env=dict(os.environ, PATH=PATH)) return shutil.which("session-manager-plugin", path=PATH)
Example #2
Source File: os_utils.py From godot-mono-builds with MIT License | 9 votes |
def run_command(command, args=[], cwd=None, env=None, name='command'): def cmd_args_to_str(cmd_args): return ' '.join([arg if not ' ' in arg else '"%s"' % arg for arg in cmd_args]) assert isinstance(command, str) and isinstance(args, list) args = [command] + args check_call_args = {} if cwd is not None: check_call_args['cwd'] = cwd if env is not None: check_call_args['env'] = env import subprocess try: print('Running command \'%s\': %s' % (name, subprocess.list2cmdline(args))) subprocess.check_call(args, **check_call_args) print('Command \'%s\' completed successfully' % name) except subprocess.CalledProcessError as e: raise BuildError('\'%s\' exited with error code: %s' % (name, e.returncode))
Example #3
Source File: util.py From HardRLWithYoutube with MIT License | 7 votes |
def mpi_fork(n, extra_mpi_args=[]): """Re-launches the current script with workers Returns "parent" for original parent, "child" for MPI children """ if n <= 1: return "child" if os.getenv("IN_MPI") is None: env = os.environ.copy() env.update( MKL_NUM_THREADS="1", OMP_NUM_THREADS="1", IN_MPI="1" ) # "-bind-to core" is crucial for good performance args = ["mpirun", "-np", str(n)] + \ extra_mpi_args + \ [sys.executable] args += sys.argv subprocess.check_call(args, env=env) return "parent" else: install_mpi_excepthook() return "child"
Example #4
Source File: export.py From svviz with MIT License | 6 votes |
def checkInkscape(): try: subprocess.check_call("inkscape --version", stdout=subprocess.PIPE, shell=True) return True except subprocess.CalledProcessError: return False
Example #5
Source File: get_references_web.py From fine-lm with MIT License | 6 votes |
def main(_): shard_urls = fetch.get_urls_for_shard(FLAGS.urls_dir, FLAGS.shard_id) num_groups = int(math.ceil(len(shard_urls) / fetch.URLS_PER_CLIENT)) tf.logging.info("Launching get_references_web_single_group sequentially for " "%d groups in shard %d. Total URLs: %d", num_groups, FLAGS.shard_id, len(shard_urls)) command_prefix = FLAGS.command.split() + [ "--urls_dir=%s" % FLAGS.urls_dir, "--shard_id=%d" % FLAGS.shard_id, "--debug_num_urls=%d" % FLAGS.debug_num_urls, ] with utils.timing("all_groups_fetch"): for i in range(num_groups): command = list(command_prefix) out_dir = os.path.join(FLAGS.out_dir, "process_%d" % i) command.append("--out_dir=%s" % out_dir) command.append("--group_id=%d" % i) try: # Even on 1 CPU, each group should finish within an hour. sp.check_call(command, timeout=60*60) except sp.TimeoutExpired: tf.logging.error("Group %d timed out", i)
Example #6
Source File: osdriver.py From multibootusb with GNU General Public License v2.0 | 6 votes |
def gpt_device(self, dev_name): disk_dev = self.physical_disk(dev_name) cmd = ['parted', disk_dev, '-s', 'print'] with open(os.devnull) as devnull: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=devnull) _cmd_out, _err_out = p.communicate() p.wait() if p.returncode != 0: lang = os.getenv('LANG') encoding = lang.rsplit('.')[-1] if lang else 'utf-8' raise RuntimeError(str(_err_out, encoding)) subprocess.check_call(['partprobe', disk_dev]) if b'msdos' in _cmd_out: return False if b'gpt' in _cmd_out: return True raise RuntimeError("Disk '%s' is uninitialized and not usable." % disk_dev)
Example #7
Source File: cli.py From tldr.py with MIT License | 6 votes |
def update(): """Update to the latest pages.""" repo_directory = get_config()['repo_directory'] os.chdir(repo_directory) click.echo("Check for updates...") local = subprocess.check_output('git rev-parse master'.split()).strip() remote = subprocess.check_output( 'git ls-remote https://github.com/tldr-pages/tldr/ HEAD'.split() ).split()[0] if local != remote: click.echo("Updating...") subprocess.check_call('git checkout master'.split()) subprocess.check_call('git pull --rebase'.split()) build_index() click.echo("Update to the latest and rebuild the index.") else: click.echo("No need for updates.")
Example #8
Source File: scalability_setup.py From respy with MIT License | 6 votes |
def main(): """Run the scalability exercise. Define the model, a list with different number of threads and a maximum number of function evaluations. """ model = "kw_97_basic" maxfun = 3 filepath = Path(__file__).resolve().parent / "run_single_scalability_exercise.py" # Run Python for n_threads in [2, 4, 6, 8, 10, 12, 14]: subprocess.check_call( ["python", str(filepath), model, str(maxfun), str(n_threads)] )
Example #9
Source File: options.py From arm_now with MIT License | 6 votes |
def sync_upload(rootfs, src, dest): fs = Filesystem(rootfs) if not fs.implemented(): return print("Adding current directory to the filesystem..") with tempfile.TemporaryDirectory() as tmpdirname: files = [i for i in os.listdir(".") if i != "arm_now" and not i.startswith("-")] if files: tar = tmpdirname + "/current_directory.tar" subprocess.check_call(["tar", "cf", tar] + files) subprocess.check_call("e2cp -G 0 -O 0".split(' ') + [tar, rootfs + ":/"]) fs.create("/etc/init.d/S95_sync_current_diretory", """ cd {dest} tar xf /current_directory.tar rm /current_directory.tar rm /etc/init.d/S95_sync_current_diretory """.format(dest=dest), right=555) # TODO: check rootfs fs against parameter injection fs.create("/sbin/save", """ cd {dest} tar cf /root.tar * sync """.format(dest=dest), right=555)
Example #10
Source File: mpi_fork.py From HardRLWithYoutube with MIT License | 6 votes |
def mpi_fork(n, bind_to_core=False): """Re-launches the current script with workers Returns "parent" for original parent, "child" for MPI children """ if n<=1: return "child" if os.getenv("IN_MPI") is None: env = os.environ.copy() env.update( MKL_NUM_THREADS="1", OMP_NUM_THREADS="1", IN_MPI="1" ) args = ["mpirun", "-np", str(n)] if bind_to_core: args += ["-bind-to", "core"] args += [sys.executable] + sys.argv subprocess.check_call(args, env=env) return "parent" else: return "child"
Example #11
Source File: generate.py From GroundedTranslation with BSD 3-Clause "New" or "Revised" License | 6 votes |
def bleu_score(self, directory, val=True): ''' PPLX is only weakly correlated with improvements in BLEU, and thus improvements in human judgements. Let's also track BLEU score of a subset of generated sentences in the val split to decide on early stopping, etc. ''' prefix = "val" if val else "test" self.extract_references(directory, val) subprocess.check_call( ['perl multi-bleu.perl %s/%s_reference.ref < %s/%sGenerated | tee %s/%sBLEU' % (directory, prefix, directory, prefix, directory, prefix)], shell=True) bleudata = open("%s/%sBLEU" % (directory, prefix)).readline() data = bleudata.split(",")[0] bleuscore = data.split("=")[1] bleu = float(bleuscore.lstrip()) return bleu
Example #12
Source File: Callbacks.py From GroundedTranslation with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __bleu_score__(self, directory, val=True): ''' Loss is only weakly correlated with improvements in BLEU, and thus improvements in human judgements. Let's also track BLEU score of a subset of generated sentences in the val split to decide on early stopping, etc. ''' prefix = "val" if val else "test" self.extract_references(directory, split=prefix) subprocess.check_call( ['perl multi-bleu.perl %s/%s_reference.ref < %s/%sGenerated > %s/%sBLEU' % (directory, prefix, directory, prefix, directory, prefix)], shell=True) bleudata = open("%s/%sBLEU" % (directory, prefix)).readline() data = bleudata.split(",")[0] bleuscore = data.split("=")[1] bleu = float(bleuscore.lstrip()) return bleu
Example #13
Source File: usb_drive_mounter.py From pi_video_looper with GNU General Public License v2.0 | 6 votes |
def mount_all(self): """Mount all attached USB drives. Readonly is a boolean that specifies if the drives should be mounted read only (defaults to true). """ self.remove_all() # Enumerate USB drive partitions by path like /dev/sda1, etc. nodes = [x.device_node for x in self._context.list_devices(subsystem='block', DEVTYPE='partition') if 'ID_BUS' in x and x['ID_BUS'] == 'usb'] # Mount each drive under the mount root. for i, node in enumerate(nodes): path = self._root + str(i) subprocess.call(['mkdir', path]) args = ['mount'] if self._readonly: args.append('-r') args.extend([node, path]) subprocess.check_call(args) return nodes
Example #14
Source File: docker_cache.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def delete_local_docker_cache(docker_tag): """ Delete the local docker cache for the entire docker image chain :param docker_tag: Docker tag :return: None """ history_cmd = ['docker', 'history', '-q', docker_tag] try: image_ids_b = subprocess.check_output(history_cmd) image_ids_str = image_ids_b.decode('utf-8').strip() layer_ids = [id.strip() for id in image_ids_str.split('\n') if id != '<missing>'] delete_cmd = ['docker', 'image', 'rm', '--force'] delete_cmd.extend(layer_ids) subprocess.check_call(delete_cmd) except subprocess.CalledProcessError as error: # Could be caused by the image not being present logging.debug('Error during local cache deletion %s', error)
Example #15
Source File: mpi_fork.py From lirpg with MIT License | 6 votes |
def mpi_fork(n, bind_to_core=False): """Re-launches the current script with workers Returns "parent" for original parent, "child" for MPI children """ if n<=1: return "child" if os.getenv("IN_MPI") is None: env = os.environ.copy() env.update( MKL_NUM_THREADS="1", OMP_NUM_THREADS="1", IN_MPI="1" ) args = ["mpirun", "-np", str(n)] if bind_to_core: args += ["-bind-to", "core"] args += [sys.executable] + sys.argv subprocess.check_call(args, env=env) return "parent" else: return "child"
Example #16
Source File: draw_computational_graph.py From chainerrl with MIT License | 6 votes |
def draw_computational_graph(outputs, filepath): """Draw a computational graph and write to a given file. Args: outputs (object): Output(s) of the computational graph. It must be a Variable, an ActionValue, a Distribution or a list of them. filepath (str): Filepath to write a graph without file extention. A DOT file will be saved with ".gv" extension added. If Graphviz's dot command is available, a PNG file will also be saved with ".png" extension added. """ variables = collect_variables(outputs) g = chainer.computational_graph.build_computational_graph(variables) gv_filepath = filepath + '.gv' with open(gv_filepath, 'w') as f: f.write(g.dump()) if is_graphviz_available(): png_filepath = filepath + '.png' subprocess.check_call( ['dot', '-Tpng', gv_filepath, '-o', png_filepath])
Example #17
Source File: mpi_moments.py From HardRLWithYoutube with MIT License | 5 votes |
def test_runningmeanstd(): import subprocess subprocess.check_call(['mpirun', '-np', '3', 'python','-c', 'from baselines.common.mpi_moments import _helper_runningmeanstd; _helper_runningmeanstd()'])
Example #18
Source File: project_types.py From project-automation with MIT License | 5 votes |
def Html(): scriptPath = os.path.dirname(os.path.realpath(__file__)) src = "{}\\assets\\html\\".format(scriptPath) dst = "{}\\{}\\".format(directory, projectName) shutil.copytree(src, dst) os.chdir(projectName) subprocess.check_call("echo {} >> README.md".format(repoName), shell=True) # process for react projects
Example #19
Source File: project_types.py From project-automation with MIT License | 5 votes |
def ReactTS(): subprocess.check_call( "npx create-react-app {} --typescript".format(projectName), shell=True) os.chdir(projectName) # process for nodejs projects
Example #20
Source File: video_looper.py From pi_video_looper with GNU General Public License v2.0 | 5 votes |
def _set_hardware_volume(self): if self._alsa_hw_vol != None: msg = 'setting hardware volume (device: {}, control: {}, value: {})' self._print(msg.format( self._alsa_hw_device, self._alsa_hw_vol_control, self._alsa_hw_vol )) cmd = ['amixer', '-M'] if self._alsa_hw_device != None: cmd.extend(('-c', str(self._alsa_hw_device[0]))) cmd.extend(('set', self._alsa_hw_vol_control, '--', self._alsa_hw_vol)) subprocess.check_call(cmd)
Example #21
Source File: setup.py From pykaldi with Apache License 2.0 | 5 votes |
def run(self): try: import sphinx subprocess.check_call([MAKE, 'docs'], cwd = BUILD_DIR) except ImportError: print("Sphinx was not found. Install it using pip install sphinx.", file=sys.stderr) sys.exit(1)
Example #22
Source File: project_types.py From project-automation with MIT License | 5 votes |
def Blank(): os.mkdir(projectName) os.chdir(projectName) subprocess.check_call("echo {} >> README.md".format(repoName), shell=True) # process for html projects
Example #23
Source File: utils.py From fusesoc with BSD 2-Clause "Simplified" License | 5 votes |
def run(self): """Runs the cmd with args after converting them all to strings via str """ logger.debug(self.cwd) logger.debug(" " + str(self)) try: subprocess.check_call(map(str, [self.cmd] + self.args), cwd=self.cwd,), except FileNotFoundError: raise RuntimeError( "Command '" + self.cmd + "' not found. Make sure it is in $PATH" ) except subprocess.CalledProcessError: self.errormsg = '"{}" exited with an error code. See stderr for details.' raise RuntimeError(self.errormsg.format(str(self)))
Example #24
Source File: utils.py From WSL-Distribution-Switcher with MIT License | 5 votes |
def set_default_user(user): """ Switches the active user inside WSL to the requested one. :param user: Name of the new user. """ try: subprocess.check_call(['cmd', '/C', 'debian.exe config --default-user %s' % (user)]) except subprocess.CalledProcessError as err: print('%s[!]%s Failed to roll back to old %srootfs%s: %s' % (Fore.RED, Fore.RESET, Fore.BLUE, Fore.RESET, err)) print('%s[!]%s You are now the proud owner of one broken Linux subsystem! To fix it, run %slxrun /uninstall%s and %slxrun /install%s from the command prompt.' % (Fore.RED, Fore.RESET, Fore.GREEN, Fore.RESET, Fore.GREEN, Fore.RESET)) sys.exit(-1)
Example #25
Source File: setupbase.py From jupyterlab-sidecar with BSD 3-Clause "New" or "Revised" License | 5 votes |
def run(cmd, **kwargs): """Echo a command before running it. Defaults to repo as cwd""" log.info('> ' + list2cmdline(cmd)) kwargs.setdefault('cwd', HERE) kwargs.setdefault('shell', os.name == 'nt') if not isinstance(cmd, (list, tuple)) and os.name != 'nt': cmd = shlex.split(cmd) cmd[0] = which(cmd[0]) return subprocess.check_call(cmd, **kwargs)
Example #26
Source File: mpi_moments.py From lirpg with MIT License | 5 votes |
def test_runningmeanstd(): import subprocess subprocess.check_call(['mpirun', '-np', '3', 'python','-c', 'from baselines.common.mpi_moments import _helper_runningmeanstd; _helper_runningmeanstd()'])
Example #27
Source File: util.py From lirpg with MIT License | 5 votes |
def mpi_fork(n): """Re-launches the current script with workers Returns "parent" for original parent, "child" for MPI children """ if n <= 1: return "child" if os.getenv("IN_MPI") is None: env = os.environ.copy() env.update( MKL_NUM_THREADS="1", OMP_NUM_THREADS="1", IN_MPI="1" ) # "-bind-to core" is crucial for good performance args = [ "mpirun", "-np", str(n), "-bind-to", "core", sys.executable ] args += sys.argv subprocess.check_call(args, env=env) return "parent" else: install_mpi_excepthook() return "child"
Example #28
Source File: parallel_launch.py From fine-lm with MIT License | 5 votes |
def remote_run(cmd, instance_name, detach=False, retries=1): """Run command on GCS instance, optionally detached.""" if detach: cmd = SCREEN.format(command=cmd) args = SSH.format(instance_name=instance_name).split() args.append(cmd) for i in range(retries + 1): try: if i > 0: tf.logging.info("Retry %d for %s", i, args) return sp.check_call(args) except sp.CalledProcessError as e: if i == retries: raise e
Example #29
Source File: cloud_tpu.py From fine-lm with MIT License | 5 votes |
def shell_run(cmd_, **kwargs): return sp.check_call(format_cmd(cmd_, **kwargs))
Example #30
Source File: setup.py From PyOptiX with MIT License | 5 votes |
def check_call_sudo_if_fails(cmd): try: return check_call(cmd) except CalledProcessError as e: return check_call(['sudo'] + cmd)