我有一个bash脚本,用于设置环境变量并运行命令
LD_LIBRARY_PATH=my_path
sqsub -np $1 /homedir/anotherdir/executable
现在,我想使用python代替bash,因为我想计算传递给命令的一些参数。
我试过了
putenv("LD_LIBRARY_PATH", "my_path")
和
call("export LD_LIBRARY_PATH=my_path")
其次是
call("sqsub -np " + var1 + "/homedir/anotherdir/executable")
但由于未设置LD_LIBRARY_PATH,因此程序总是放弃。
我怎样才能解决这个问题?
感谢帮助!
(如果我在调用python脚本之前导出LD_LIBRARY_PATH,则一切正常,但我希望python确定路径并将环境变量设置为正确的值)
重击:
LD_LIBRARY_PATH=my_path
sqsub -np $1 /path/to/executable
在Python中类似:
import os
import subprocess
import sys
os.environ['LD_LIBRARY_PATH'] = "my_path" # visible in this process + all children
subprocess.check_call(['sqsub', '-np', sys.argv[1], '/path/to/executable'],
env=dict(os.environ, SQSUB_VAR="visible in this subprocess"))
问题内容: 我有一些需要环境变量的仪器,我想从python代码中自动设置。所以我尝试了几种方法来实现它,但是没有一个成功。这里有些例子: 我在我的python脚本中插入以下代码 os.system(“export ENV_VAR=/some_path”) 我创建了bash脚本(env.sh)并从python运行它: export ENV_VAR=some_path os.system(“sourc
问题内容: 我有一个脚本来设置交叉编译所需的所有变量。这只是其中的一部分: 如果这样做,所有环境变量都将导入到当前的Shell会话中,并且可以编译我的示例。 是否可以在cmake中导入这些变量?如果是,怎么办? 更多细节: 我正在使用ELDK v 5.4,它的安装脚本生成一个脚本,该脚本设置所有环境变量 我找到了本教程,该教程说明了如何手动设置交叉编译,但没有说明如何使用脚本来设置所有内容 如果我
问题内容: 我需要在python脚本中设置一些环境变量,并且我希望从python调用的所有其他脚本(shell脚本)(将是子进程)来查看设置的环境变量。该值为数字。 如果这样做,它会抱怨说1必须是字符串。我也想知道一旦设置它,如何在python(在脚本的后半部分)中读取环境变量。 问题答案: 你可能需要考虑其他方面的代码健壮性; 当你将整数值的变量存储为环境变量时,请尝试 然后为了进行检索,请考虑
我的Python程序有问题。在IDE(间谍IDE)上运行此程序时,我没有得到任何错误,并且它工作得很好。否则,如果我在python IDLE中运行它,我会得到以下错误。 我认为这个错误与Python路径环境变量有关,因为我找不到该模块。
问题内容: 我正在尝试设置脚本以增加Xcode项目的内部版本号。我进行了一次API调用以获取当前的内部版本号,然后我希望对其进行递增,然后将该新的版本号用作环境变量,以便Xcode插件可以使用它。 我安装了EnvInject插件,但是我不知道如何将var从我的shell脚本中获取到环境变量中。 这设置为我需要的值,但是如何将其分配给环境变量,以便以后在工作中访问它? 问题答案: 添加一个构建步骤以
问题内容: 有没有一种方法可以在Linux中使用C设置环境变量? 我尝试了和,但是它们似乎并没有为我工作。 问题答案: 我将在这里做出一个疯狂的猜测,但是这些功能似乎不起作用的正常原因不是因为它们不起作用,而是因为用户并不真正了解环境变量的工作原理。例如,如果我有此程序: 然后我从外壳程序运行它,它不会修改外壳程序的环境- 子进程无法做到这一点。这就是为什么内置可修改环境的shell命令的原因,以