2011-12-09 50 views
0

最初のdjango webappを作成しようとしていますが、単純なビューでうまく動作しますが、モデルを組み込むとすぐに次のエラーが発生します。Python: 'module'オブジェクトに '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() 

これは何が原因でしょうか?

ジャンゴログは言う:

/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を使用しているように見えます.Mac OS Xは、UNIXシステムでは、getuid()を提供する必要があります。あなたは何とか標準ライブラリモジュールを使いこなしていますか? –

+0

@FerdinandBeyer、いいえ私は標準的なシステムをつぶすつもりはありません – daydreamer

答えて

0

は、Pythonのバージョンを確認し、PythonのインストールとPYTHONPATH変数をチェックしてみてください。コードではなく、エバーメントとの間で盲目的になるかもしれません。

関連する問題