2013-08-28 124 views
0

(OSX =山狮)我在/ DIST应用程序引发错误:错误py2app应用

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(同样的错误,即使没有 - '导入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 ...'。但所有组合都会引发相同的错误。在其他地方,我已经看到“导入psutil”作为标准导入,这也不例外。还有什么可以错误AttributeError: 'module' object has no attribute '__all__'是什么意思?谢谢。

回答

1

您的脚本文件abc.pyPython standard library Abstract Base Class module,abc冲突。最简单的解决方案应该是将您的文件的名称更改为其他名称。

+0

Thx。有效!但是我得到了一个新的(虽然与原始问题无关)的错误,如下所示:[它列出顶部的cpupercent,但继续详细说明错误 - 我没有在这里输出 - 任何帮助/解释都非常感谢] $ ./dist/test1.app/Contents/MacOS/test1 cpupercent(user = 2.4,nice = 0.0,system = 4.8,idle = 92.9) Traceback(最近一次调用最后一个):[只包括最后一个部分] 文件“socket.pyc”,行224,在meth socket.error:[Errno 61]连接被拒绝 2013-08-28 12:50:行16,在 s.connect((serverHost,4242)) 25.104 test1 [4519:707] test1错误 – user2480526

+0

请不要在评论中提出新的,无关的问题。他们可能会被忽视,任何讨论都不会包含或者不利于他人。你应该开一个新的问题。这就是说,“拒绝连接”似乎很清楚。你需要确保你可以建立一个到服务器应用程序的连接,不管怎样,在'serverHost'的端口4242包含的网络地址。但是,如果你仍然有问题,再次打开一个新的问题。 –

+0

好的。谢谢。让我检查一个不同的端口,并按照建议更新。 – user2480526