【问题标题】:Can't run os.system command in Django?无法在 Django 中运行 os.system 命令?
【发布时间】:2011-02-14 01:28:04
【问题描述】:

我们有一个 Django 应用程序在 Windows 机器上的 apache 服务器 (mod_python) 上运行,它需要调用一些 r 脚本。为此,通过 os.system 调用 r 是最简单的,但是当 django 到达 os.system 命令时,它会冻结。我也尝试了子进程,结果相同。

我们有一个可能相关的问题,Django 只能访问它所在机器的文件系统,所有网络驱动器似乎对它都是不可见的,这非常令人沮丧。

对于这两个问题的任何想法(我假设这两种情况的限制相同)将不胜感激。

【问题讨论】:

    标签: python windows django apache


    【解决方案1】:

    RPy2 代替 os.system 会满足您的需求吗?我在与您描述的 Django 类似的情况下使用过它,并且效果很好。

    rpy2 中的高级接口旨在方便 Python 程序员使用 R。 R 对象作为 Python 实现的类的实例公开,在许多情况下,R 函数作为这些对象的绑定方法。

    【讨论】:

    • 我们确实尝试了 rPy2,但它在执行复杂的过程时似乎有很多错误。从长远来看,我们可能会将所有脚本直接翻译成 python 代码,但目前单独的 rscript 是我们准确处理数据的唯一保证方式。
    • 或者你的意思是从 rpy2 调用 rscripts?我没有考虑过的简单解决方案!
    • 对 - 尝试使用 rpy2.robjects.source 函数来获取脚本,但我现在想知道这是否有效,是否真的与某种网络驱动器问题有关?
    猜你喜欢
    • 1970-01-01
    • 2018-07-26
    • 2016-04-22
    • 2018-07-18
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多