2011-12-09 169 views
0

我想寫我的第一個django webapp,它工作正常,但有一個簡單的視圖,但只要我包含我的模型,就開始給出以下錯誤Python:'模塊'對象沒有屬性'getuid'

'module' object has no attribute 'getuid' 
Request Method: POST 
Request URL: http://localhost:8080/photos/ 
Django Version: 1.2.5 
Exception Type: AttributeError 
Exception Value:  
'module' object has no attribute 'getuid' 
Exception Location: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py in expanduser, line 321 
Python Executable: /Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python 

我讀到,這可能是因爲循環導入問題,但我沒有看到我的模型導入中的任何東西。

import logging 
import sys 
import os 
import flickrapi 

def get_photos_for_artist(artist=None): 
     if not artist: 
       logging.error('can not find photos for unknown artist') 
       return None 

     api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX' 
     flickr = flickrapi.FlickrAPI(api_key) 
     gen = flickr.walk(tags=artist, content_type=1, per_page=10) 
     return gen 

def main(): 
    pass 

if __name__ == '__main__': 
     main() 

什麼可能導致這種情況?

Django的日誌說:

/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py in expanduser 
    return path 
i = path.find('/', 1) 
if i < 0: 
    i = len(path) 
if i == 1: 
    if 'HOME' not in os.environ: 
     import pwd 
     userhome = pwd.getpwuid(os.getuid()).pw_dir ... 
    else: 
     userhome = os.environ['HOME'] 
else: 
    import pwd 
    try: 
     pwent = pwd.getpwnam(path[1:i]) 
+1

您尚未提供任何有用的信息。例如,您發佈的代碼似乎不符合實際的視圖。 Django在遇到錯誤時會打印一個非常有用的調試頁面:如果需要,您應該查看該頁面,並在此處粘貼回溯(首先單擊「切換到複製和粘貼視圖」)。 –

+0

錯誤消息是明確的:'posixpath.expanduser()'使用的函數'os.getuid()'不存在。這很奇怪,因爲你似乎在使用Mac OS X,它是Unix系統,應該提供'getuid()'。你是不是弄亂了標準庫模塊? –

+0

@FerdinandBeyer,不,我不是在搞標準系統 – daydreamer

回答

0

嘗試檢查Python版本,並檢查Python安裝和PYTHONPATH變量。可能與enveroment problim,而不是代碼。

相關問題