2011-08-02 35 views
0

我想使用此代碼啓動一個web.py服務器:奇類型錯誤的多處理Python模塊

if __name__ == "__main__": 
    p = Process(target=app.run) #starts the web.py server 
    p.start() 
    main() #starts a main listening loop for errors, testing and logging 
    p.join() 

其中

app = web.application(urls, globals()) #part of the web.py framework... starts the REST server 

但我得到這個異常:

Traceback (most recent call last): 
File "apitest.py", line 90, in <module> 
p = Process(target=app.run) 
TypeError: this constructor takes no arguments 

我已經搜索了無處不在,但我無法找到發生了什麼事......任何人都可以幫忙嗎?

謝謝!

+3

命名空間衝突?你不是在呼喚你認爲你的過程。嘗試將Process導入爲其他名稱空間或其他名稱空間,並且應該可以。 – agf

+0

工作完美,謝謝你們兩位! – pdeuchler

回答

1

正如agf在評論中所建議的那樣,您的名稱空間可能互相踩在一起,因此名稱Process不是您認爲它的Process。要解決此問題,請將您導入Process的方式更明確:

import multiprocessing 

# ...all your other code... 

p = multiprocessing.Process(target=app.run) # starts the web.py server