2012-03-20 10 views
7
내 응용 프로그램을 디먼 화하기 위해 노력하고있어 및 오류 얻고있다

: 다른 사람들이 모듈에서이 오류가 발생하는 것 같습니다파이썬 데몬 만들기 - '모듈'개체에는 속성이 없습니다 'DaemonContext'

out:  with daemon.DaemonContext(): 
out: AttributeError: 'module' object has no attribute 'DaemonContext' 

을 설치되지 않았습니다. 파이썬을 처음 접했을 때 데몬과 파이썬 데몬 패키지가 있다는 것은 다소 혼란스럽고 파이썬 패키지 (sudo apt-get install과 sudo pip install)를 설치하는 두 가지 방법이 있습니다. 그러나 패키지를 설치 한 것 같습니다. Ubuntu 10.04에 Python 2.6이 설치되어 있습니다. 어떤 아이디어?

# pip freeze 
LEPL==5.0.0 
MySQL-python==1.2.2 
distribute==0.6.10 
lockfile==0.8 
matplotlib==0.99.1.1 
numpy==1.3.0 
pyparsing==1.5.2 
python-apt==0.7.94.2ubuntu6.4 
python-daemon==1.5.2 
python-dateutil==1.4.1 
pytz==2010b 
rpy2==2.0.8 
wsgiref==0.1.2 

더 많은 증거가 모듈이 설치됩니다 : 나는 모듈이 설치되어있는 것처럼

같습니다

$ python 
>>> import daemon 
>>> dir(daemon) 
['DaemonContext', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '_copyright', '_license', '_url', '_version', 'daemon', 'version'] 
+4

을 나는 또한이 문제를 가지고,하지만 난 때 내가해야 PIP2 daemon'를 설치'했던 밝혀졌다 'pip2 install python-daemon'을 해주었습니다. – kristianlm

답변

14

분명히 daemon라는 다른 모듈을 사용하는 오류가 발생합니다 프로그램 . 아마도 프로그램 자체 또는 동일한 디렉토리에있는 다른 모듈 daemon.py을 호출 했습니까? 그렇다면 설치된 daemon 모듈이 섀도 잉됩니다. daemon.py의 이름을 바꾼 다음 (파이썬에서 만들었을 파일 daemon.pyc을 삭제하십시오) 다시 시도하십시오.

그림자가 전혀 보이지 않는 경우 daemon.py을 응용 프로그램에 인쇄하고 daemon.__file__을 가져오고 어디에서 가져 오는지 확인하십시오.

+1

고마워! 내 스크립트의 이름이 daemon.py이고, 그게 문제를 일으키는 지 몰랐어. "print daemon .__ file__"호출도 매우 도움이되었다. . –

15

나는이 프로그렘을 실행한다. 내가 print daemon.__file__이라면 /usr/local/lib/python2.6/dist-packages/daemon.pyc을 인쇄합니다. 잘못된 위치에 올바른 파일이 있습니다. 이는 packege를 잘못 설치했음을 의미합니다.

daemon.py 파일 만 설치하는 "sudo pip install daemon"명령을 사용했습니다. 우리는 전체 패키지를 설치하는 commend "sudo pip install python-daemon"을 사용해야합니다. 그 후 print daemon.__file__/usr/local/lib/python2.6/dist-packages/daemon/__init__.pyc을 인쇄합니다. 즉, 하나의 python 파일 daemon.py가 아니라 python-daemon -package를 설치했음을 의미합니다.

혼란 스럽지만 내 자신의 잘못이었습니다.

바로 "명령 sudo는 핍 제거 파이썬 데몬을 설치주기 전에"sudo는 PIP 제거 데몬 "을 호출해야합니다.

관련 문제