2013-10-08 7 views
-1

데비안 6 서버에 간단한 토네이도 앱을 설치하려고합니다. 나는 주사위를 사용하여 토네이도를 설치 한 지금은에 있습니다 : /usr/local/lib/python2.6/dist-packages/tornado'ImportError : No tornado.httpserver'모듈 받기

이 또한 내가 참고 MyUser의의 .bashrc에 토네이도 수동으로 경로를 추가 누가 myapp.py를 실행합니까 :

PYTHONPATH=/usr/local/lib/python2.6/dist-packages/tornado:/usr/local/lib/python2.6/dist-packages/tornado:/usr/local/lib/python2.6/dist-packages 

myuser는 www-data 그룹의 멤버입니다.

나는 /var/log/tornado.log이 짜증나는 오류 :

File "/path/to/myapp.py", line 1, in <module> 
    import tornado.httpserver, tornado.ioloop, tornado.options, tornado.web, os.path, random, string 
ImportError: No module named tornado.httpserver 

supervisor.conf는 다음과 같이이다 :

아이러니하게도
[group:tornadoes] 
programs=tornado-8000,tornado-8001,tornado-8002,tornado-8003 


[program:tornado-8000] 
command=python /path/to/myapp.py --port=8000 
directory=/path/to 
user=www-data 
autorestart=true 
redirect_stderr=true 
stdout_logfile=/var/log/tornado.log 
loglevel=info 
[program:tornado-8001] 
command=python /path/to/myapp.py --port=8001 
directory=/path/to 
user=www-data 
autorestart=true 
redirect_stderr=true 
stdout_logfile=/var/log/tornado.log 
loglevel=info 
[program:tornado-8002] 
command=python /path/to/myapp.py --port=8002 
directory=/path/to 
user=www-data 
autorestart=true 
redirect_stderr=true 
stdout_logfile=/var/log/tornado.log 
loglevel=info 
[program:tornado-8003] 
command=python /path/to/myapp.py --port=8003 
directory=/path/to 
user=www-data 
autorestart=true 
redirect_stderr=true 
stdout_logfile=/var/log/tornado.log 
loglevel=info 

같은 CONFIGS와 아주 동일한 응용 프로그램 (aprat 형식 /path/to/myapp.py와 파일 소유자) 다른 데비안 테스트 서버에 잘 배치되었습니다. 정말 혼란스러워하고 힌트를 주셔서 감사합니다.

+0

토네이도 설치에 virtualenv를 사용하지 않는 이유는 무엇입니까? –

+0

PYTHONPATH를 수동으로 설정하면 디자인별로 깨지기 쉽습니다. –

+0

virtualenv에서 수행하는 방법을 잘 모르겠 음 – qliq

답변

0

토네이도 디렉토리를 PYTHONPATH에 넣지 말고 토네이도 디렉토리가 들어있는 디렉토리 (dist-packages)에 추가하면 안됩니다. 데비안이 기본 파이썬 경로를 어떻게 설정하는지 모르겠지만 dist 패키지와 사이트 패키지와 같은 디렉토리는 일반적으로 기본적으로이 디렉토리에 있습니다. 그렇지 않다면 실제로 특정 기능이 작동하도록 pythonpath를 수정하는 대신 siteecustomize.py 파일 (site.addsitedir() 사용)을 통해 추가해야합니다 (토네이도에는 문제가되지 않지만).

슈퍼 바이저에서 프로그램을 실행할 때 .bashrc가 사용되지 않습니다. 환경을 변경해야하는 경우 supervisor.conf의 '환경'문을 사용하십시오.

관련 문제