从RoR应用程序的控制器运行python脚本时出现ConfigParser错误

时间:2013-12-13 08:10:13

标签: python ruby-on-rails

我试图从控制器触发一个python脚本。

我在控制器中定义了以下函数:

 private
     def update_product_count(skus, qty)
       system "python2 /home/nish/stuff/repos/Untitled/voylla_staging_changes/app/models/ReviseItem.py
 skus qty > output"
     end

在同一控制器的另一个方法中调用此函数:

def show
//some code
update_product_count(@skus, @qty)
end

当我从我的控制台手动运行脚本时,它运行正常。但是从控制器运行时我得到这个错误:

Traceback (most recent call last):
  File "/home/nish/stuff/repos/Untitled/voylla_staging_changes/app/models/ReviseItem.py", line 24, in <module>
    devID = config.get("Keys", "Developer")
  File "/usr/lib/python2.7/ConfigParser.py", line 607, in get
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'Keys'

1 个答案:

答案 0 :(得分:0)

最可能的原因是您使用相对路径打开配置文件,并且控制器与控制台具有不同的当前目录。

您应该使用配置文件的绝对路径,或让脚本解决它正在执行的目录,并将其添加到文件名中。