我正在寻找一种很好的方法来完成以下工作:
因此,我有一个脚本,需要在Unix的Python中运行,方法是从Perl脚本调用,然后使用Plink从Windows中的Excel VBA宏调用该脚本。由于依赖问题,Python脚本必须在csh或bash中运行,在运行脚本之前,我需要使用export/setenv添加一些库。但是,默认情况下,perl在sh shell中运行,因此,我无法添加所有依赖项并运行Python脚本。
因此,我想知道是否有以下两种方法: 1.在perl脚本中将依赖项添加到sh shell,或者2.强制我的perl脚本在csh中运行(首选,因为由于某种原因,帐户的.bashrc会遇到权限问题)。
非常感谢!
发布于 2012-05-17 10:25:16
"3.在Perl或Python脚本中设置适当的环境变量“如何?
$ENV{'PATH'} = .....。
os.environ['PATH'] = os.pathsep.join(newpaths + os.environ['PATH'].split(os.pathsep))(不知道如何在Perl中获取路径分隔符,sorz)
发布于 2012-05-17 08:00:09
要强制外壳使用csh,请在Perl中尝试执行以下命令:
`/bin/csh -c "command_name"`;编辑
您可以使用ENV变量,如下所示。试一试:
$s = `/bin/bash -c 'VAR_FOO=753; echo \$VAR_FOO'`;
print $s;发布于 2012-05-17 21:56:17
我最后只是更改了.cshrc脚本,显然,由于某些原因,添加到PATH中的内容对我不起作用。之后,通过将所有内容放在一行中,一切都将顺利运行。
所以基本上它看起来像这样
/path/to/.cshrc && /python/path/to/python希望这能有所帮助!
https://stackoverflow.com/questions/10628280
复制相似问题