使用Python popen

时间:2016-05-10 10:36:09

标签: python r subprocess 32bit-64bit

所以我从Python Rscript.exe调用外部可执行文件(subprocess.popen作为R portable的一部分)。

  • 从32位python调用,它可以工作。

  • 从64位python调用,R抱怨它找不到各种包,所以有些不同。

不应该进行任何文件系统重定向(Rscript.exe的路径不在程序文件中)

这可能是python问题,R问题,或两者兼而有之。为什么根据调用popen的进程的位数,有什么表现不同?我可以强制从64位python调用看起来像Rscript的32位调用吗?

1 个答案:

答案 0 :(得分:0)

当您对子程序或线程使用subprocess.Popen类时,它会为shell创建管道或命令提示符,并且您可以将参数传递给subprocess.Popen类的对象,如字符串形式。该命令在shell中运行并执行。 所以出现的错误既不是python问题,也不是R问题。 您的环境变量和系统路径存在问题。 您可能没有保存R的环境路径,因此无法获取Rscript.exe以供执行。 并且没有文件/目录重定向系统可直接用于搜索文件夹/文件以供执行。

为R设置系统路径变量,有希望解决您的问题