0

(OSX = マウンテン ライオン) /dist 内のアプリで次のエラーがスローされます。

Last login: Wed Aug 28 11:21:29 on ttys001
-MacBook-Pro:~ $ /Users/Desktop/dist/abc.app/Contents/MacOS/abc ; exit;
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/py2app/apptemplate/lib/site.py", line 20, in   <module>
import os
 File "os.pyc", line 398, in <module>
 File "UserDict.pyc", line 83, in <module>
 File "_abcoll.pyc", line 11, in <module>
 File "/Users/Virendra/Desktop/dist/abc.app/Contents/Resources/abc.py", line 6, in <module>
import psutil 
 File "build/bdist.macosx-10.8-x86_64/egg/psutil/__init__.py", line 54, in <module>
 File "build/bdist.macosx-10.8-x86_64/egg/psutil/_common.py", line 16, in <module>
 File "build/bdist.macosx-10.8-x86_64/egg/psutil/_compat.py", line 65, in <module>
 File "collections.pyc", line 6, in <module>
 AttributeError: 'module' object has no attribute '__all__'
 logout

私の setup.py ( - 'import os' がなくても同じエラー) は次のようになります。

"""
This is a setup.py script generated by py2applet

Usage:
python setup.py py2app

"""

from setuptools import setup

APP = ['abc.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True, 'includes': ['psutil', 'time', 'socket', 'os']}

setup(
   app=APP,
   data_files=DATA_FILES,
   options={'py2app': OPTIONS},
   setup_requires=['py2app'],
)

そして、問題のスクリプト abc.py:

    from psutil import cpu_times_percent 
    import socket
    import time


    serverHost = "localhost"
    thisClient = socket.gethostname()
    cpuStats = psutil.cpu_times_percent()
    print cpuStats
    currentTime = int(time.time())
    s = socket.socket()
    s.connect((serverHost,8080))
    command = 'put cpu.usr ' + str(currentTime) + " " + str(cpuStats[0]) + " host="+ thisClient+ "\n" 
    s.sendall(command)
    command = 'put cpu.nice ' + str(currentTime) + " " + str(cpuStats[1]) +" host="+ thisClient+ "\n"
    s.sendall(command)
    command = 'put cpu.sys ' + str(currentTime) + " " + str(cpuStats[2]) + " host="+ thisClient+ "\n"
    s.sendall(command)
    command = 'put cpu.idle ' + str(currentTime) + " " + str(cpuStats[3]) + " host="+     thisClient+ "\n"
    s.sendall(command)
    s.close()

最初は 'import psutil' でしたが、上記のように 'from psutil...' に変更しました。ここに「import os...」を含めました。ただし、すべての組み合わせで同じエラーがスローされます。他の場所では、'import psutil' を標準のインポートとして見てきましたが、これも例外ではありません。エラーは他に何をAttributeError: 'module' object has no attribute '__all__'意味するのでしょうか? どうも。

4

1 に答える 1

1

スクリプト ファイル は、 Python 標準ライブラリの抽象基本クラス モジュールabc.py競合します。最も簡単な解決策は、ファイルの名前を別の名前に変更することです。abc

于 2013-08-28T19:36:04.283 に答える