使用Python popen的奇怪的位数问题

Sid*_*Bob 6 python subprocess r 32bit-64bit

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

  • 从32位python调用,它的工作原理.

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

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

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

小智 0

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

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