我想从python脚本内部运行下面的bash脚本。
condo activate bne
CUDA_VISIBLE_DEVICES=1 python bne.py --model models/BNE_SGsc --fe ./embeddings/BioEmb/Emb_SGsc.txt --fi names.txt --fo output_BNE_SGsc.txt
我的python脚本/函数如下所示
def do_tensorflow_routine(path_name_file):
os.chdir(os.path.join("../","bne_resources/"))
os.system("conda activate bne")
bne_command = "python bne.py --model models/BNE_SGsc --fe ./embeddings/BioEmb/Emb_SGsc.txt --fi names.txt --fo names_bne_SGsc.txt"
subprocess.run(bne_command,shell=True)
pass
但是,我收到以下错误 -
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
我正在使用集群,我的系统规格如下 -
Static hostname: lab1
Icon name: computer-server
Chassis: server
Machine ID: 104265a0ea5b48c1a3c5a9802294af66
Boot ID: 4277780744ae448292d66a9ff39c76e2
Operating System: Ubuntu 20.04.1 LTS
Kernel: Linux 5.8.0-36-generic
Architecture: x86-64
如果我遗漏了什么,请告诉我。我的基本问题是如何从给定的python脚本运行另一个python script,特别是当我们需要激活和停用虚拟环境时,因为由于一些依赖冲突,父python script和子python cript需要两个不同的虚拟环境。请帮帮我。提前谢谢,梅格
如果终端在运行 conda 激活 bne 后未显示(基站),请尝试运行:
< code>conda init
在顶部的 bash 脚本中,你需要舍邦行 #!/usr/bin/env bash
和 env 用于不同 Linux 发行版的可移植性。
问题内容: 我的以下代码有问题: callBash.py: sleep.sh: 我希望10秒钟后打印“结束”。(我知道这是一个愚蠢的示例,我可以简单地在python中睡眠,但是这个简单的sleep.sh文件只是作为测试) 问题答案: 使sleep.sh可执行并添加到参数列表中(如先前答案中所建议)可以正常工作。根据搜索路径,您可能还需要添加或其他合适的路径。(即,更改为。) 如果bash脚本的第一
问题内容: Bash脚本非常有用,可以节省很多编程时间。那么,如何在C ++程序中启动bash脚本呢?另外,如果您知道如何使用户成为超级用户,那也会很好。谢谢! 问题答案: 使用功能。
问题内容: 之前曾在不同程度上提出过这样的问题,但我觉得还没有以简明的方式回答,因此我再次提出。 我想在Python中运行脚本。可以说是这样的: 它获取文件位置,读取它,然后打印其内容。没那么复杂。 好吧,那我该如何在C#中运行它呢? 这就是我现在所拥有的: 当我传递位置和位置无效时。有人告诉我,我应该通过的,然后作为。 我已经寻找了一段时间,只能找到建议使用IronPython或类似工具的人。但
我写了一个简单的脚本,将具有单个值的列添加到现有文件中,我想为位于一个文件夹中的其他几个文件运行它,知道我该怎么做吗? python脚本如下所示:
问题内容: 如何在 根用户 (具有所有权限)而不是 没人 用户(php默认用户)下从PHP运行bash脚本? 在sudo visudo之后,多数民众赞成在我的输出: 问题答案: 您可以使用sudo: 您应该允许在没有密码提示的情况下执行脚本。在控制台中运行,并将以下字符串添加到末尾: 您必须正确设置文件模式,以确保没有人可以修改此脚本并将危险内容放入该脚本(在根控制台中):
我有一个脚本,它需要两个每次都不相同的输入。所以我必须在每次运行脚本时手动输入。我确实想把这个脚本部署到Heroku。但遗憾的是,我无法在heroku:worker中手动给出任何种类的输入。我不能使用任何环境变量,参数,因为这两个输入不是静态的。所以heroku:worker总是得到“没有输入”的错误。 所以我决定用命令< code > heroku run python 3 main . py