2016-03-09 27 views
0

林開始蟒過程。在我的上帝文件(start_my_app.god)我有無法使用神(<a href="http://godrb.com" rel="nofollow">godrb.com</a>)來監視扭曲框架基於應用過程中使用神

God.watch do |w| 
    w.name='my_app' 
    w.start='twistd -y /home/joes/my_app.tac --pidfile /home/joes/my_app.pid' 
    w.log='/home/joes/my_app.log' 
    w.keepalive 
end 

在我的應用程序目錄下有一個名爲node.py包含NodeQS類文件,並在文件my_app.tac即時通訊做

from node import NodeQS 

當我嘗試使用

god -c start_my_app.god -D 

我看到我的應用程序下面的錯誤日誌啓動應用程序

exceptions.ImportError: No module named node

我加入的/ home /招財/ my_app應用到PYTHONPATH,但我仍然看到這個錯誤,當我運行使用神的twistd來命令。

The above twistd command works if i run it directly

爲什麼試圖從上帝運行相同的命令給我一個導入錯誤?

+0

這應該是一個壞'PYTHONPATH'原因。解決這個問題的最簡單方法是首先更改工作目錄。嘗試在真正的命令之前添加'cd/home/joes;'。 –

+0

非常感謝克勞斯D. :)。添加CD,因爲你建議修正它。請添加它作爲答案,以便我可以將其標記爲已接受:)。 – joes

回答

1

當您運行及其完整路徑的Python腳本,該PATHONPATH設置爲當前工作目錄。然後將此路徑用作導入軟件包和模塊的基礎。

爲了使PYTHONPATH反映您的項目目錄,您首先需要cd。您可以添加命令這樣做的.start值:

God.watch do |w| 
    w.name='my_app' 
    w.start='cd /home/joes; twistd -y /home/joes/my_app.tac --pidfile /home/joes/my_app.pid' 
    w.log='/home/joes/my_app.log' 
    w.keepalive 
end 
相關問題