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])
あなたは有用な情報を提供していません。たとえば、投稿するコードが実際のビューに対応していないようです。そして、Djangoはエラーが発生したときに非常に便利なデバッグページを表示します。必要に応じてここにトレースバックを貼り付けます(「コピー&ペーストビューに切り替える」をクリックしてください)。 –
エラーメッセージは明白です: 'posixpath.expanduser()'によって使用される 'os.getuid()'関数は存在しません。これは変わっています。なぜなら、Mac OS Xを使用しているように見えます.Mac OS Xは、UNIXシステムでは、getuid()を提供する必要があります。あなたは何とか標準ライブラリモジュールを使いこなしていますか? –
@FerdinandBeyer、いいえ私は標準的なシステムをつぶすつもりはありません – daydreamer