2013-05-14 150 views
0

我遇到了一個奇怪的問題,重新調整python中的回溯。我更新了一些代碼,但在調試時仍然使用過時的代碼。詳細回溯如下:過時的腳本正在執行根據Python回溯

Error: Traceback (most recent call last): 
    File "~/myenv/lib/python2.7/site-packages/xxx/xmlrpc/dispatcher.py", line 95, in _marshaled_dispatch 
    response = self._dispatch(method, params) 
    File "/usr/lib64/python2.7/SimpleXMLRPCServer.py", line 420, in _dispatch 
    return func(*params) 
    File "~/myenv/lib/python2.7/site-packages/kobo/hub/decorators.py", line 24, in _new_func 
    return func(request, *args, **kwargs) 
    File "~/myenv/lib/python2.7/site-packages/myapp/worker.py", line 61, in register 
    download.save() 

我敢肯定由download.save()拋出的異常已經被刪除。即,在61 ~/myenv/lib/python2.7/site-packages/myapp/worker.py的行不包含download.save()

$ grep -r "download.save" ~/myenv/lib/python2.7/site-packages/myapp/ 

沒有發現匹配數。

但它看起來python仍然使用過時的代碼。我的新變化仍然無效。 此外,在運行腳本之前,我還刪除了保存目錄下的worker.pyc文件。

任何想法如何解決該問題?

+0

即使重新初始化整個virtualenv,問題仍然存在。 – yuwang 2013-05-14 13:27:55

+0

上面貼的回溯實際上是錯誤的和過時的。它是從某些服務器日誌中獲取的,即使代碼已更新,回溯(從磁盤上的某個日誌文件解析)仍然存在。 – yuwang 2013-05-17 10:37:05

+0

我將這個問題標記爲「太局部化」,這不是建設性的,請關閉。 – yuwang 2013-05-17 10:37:41

回答

1

當你grep,當你運行代碼時,他們是否是同一個用戶?代碼是否在Web服務器或類似的守護進程下運行,具有不同的用戶名和不同的主目錄?

+0

這是我的主目錄中的virtualenv,以及我擁有的代碼/進程。是的,這是一個守護進程,我已經在應用我的更改之前重新啓動守護進程。但守護進程仍然使用過時的代碼。 – yuwang 2013-05-14 08:36:41

+0

感謝您的關注,以及編輯。 ;-) – yuwang 2013-05-14 10:27:43

0

如果刪除所有預編譯的.pyc文件,該怎麼辦?

+0

感謝您的關注,已經嘗試過但無濟於事。 'pyc'會在python文件更新時自動更新。 – yuwang 2013-05-14 09:36:21