0
나는이 스크립트 오류가 발생합니다 :파이썬 데몬 라이브러리 가져 오기 오류
Traceback (most recent call last):
File "dtest2.py", line 5, in <module>
class MyDaemon(Daemon):
NameError: name 'Daemon' is not defined
내가 잘못 뭐하는 거지 :
#!/usr/bin/env python
import sys, time, daemon
class MyDaemon(Daemon):
def run(self):
while True:
time.sleep(1)
if __name__ == "__main__":
daemon = MyDaemon('/tmp/daemon-example.pid')
if len(sys.argv) == 2:
if 'start' == sys.argv[1]:
daemon.start()
elif 'stop' == sys.argv[1]:
daemon.stop()
elif 'restart' == sys.argv[1]:
daemon.restart()
else:
print("Unknown command")
sys.exit(2)
sys.exit(0)
else:
print("usage: %s start|stop|restart" % sys.argv[0])
sys.exit(2)
그것은 다음과 같은 오류가 산출? 나는 'sudo pip install daemon'이라는 데몬을 설치했다.
업데이트 : @DeepSpace에서 조언 다음 나는에 코드를 변경 :
#!/usr/bin/env python
import sys, time, daemon
class MyDaemon(daemon.Daemon):
def run(self):
while True:
time.sleep(1)
if __name__ == "__main__":
daemon = MyDaemon('/tmp/daemon-example.pid')
if len(sys.argv) == 2:
if 'start' == sys.argv[1]:
daemon.start()
elif 'stop' == sys.argv[1]:
daemon.stop()
elif 'restart' == sys.argv[1]:
daemon.restart()
else:
print("Unknown command")
sys.exit(2)
sys.exit(0)
else:
print("usage: %s start|stop|restart" % sys.argv[0])
sys.exit(2)
... 그리고 다른 오류
Traceback (most recent call last):
File "dtest.py", line 3, in <module>
import sys, time, daemon
File "/usr/local/lib/python3.6/site-packages/daemon.py", line 70
os.umask(022) # Don't allow others to write
^
SyntaxError: invalid token
어떤 제안을 산출?
아무런 차이가 없었습니다. 조언에 따라 import 문을 변경하고 MyDaemon (Daemon) 클래스를 MyDaemon (daemon.Daemon) 클래스로 변경하려고 시도했습니다. 나는 'ImportError : No daemon'모듈을 얻습니다. 나는 무엇을 잘못합니까 ??? – alkopop79
@ alkopop79 두 가지 중 하나를 변경해야합니다. * 둘 다 변경하면 안됩니다. 가장 최근의 코드와 가장 최근의 오류가 포함되도록 질문을 업데이트하십시오. ** 또한 **는 스크립트의 이름이 daemon.py가 아닌지 확인합니다. – DeepSpace