Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获得';ImportError:没有名为tornado.httpserver的模块';_Python_Tornado_Supervisord - Fatal编程技术网

Python 获得';ImportError:没有名为tornado.httpserver的模块';

Python 获得';ImportError:没有名为tornado.httpserver的模块';,python,tornado,supervisord,Python,Tornado,Supervisord,正在尝试在我的Debian 6服务器上部署一个简单的tornado应用程序。我已经使用pip安装了tornado,现在它已打开: /usr/local/lib/python2.6/dist-packages/tornado 此外,我还手动添加了执行myapp.py的myuser的.bashrc上tornado的路径: PYTHONPATH=/usr/local/lib/python2.6/dist-packages/tornado:/usr/local/lib/python2.6/dist-pa

正在尝试在我的Debian 6服务器上部署一个简单的tornado应用程序。我已经使用pip安装了tornado,现在它已打开:

/usr/local/lib/python2.6/dist-packages/tornado

此外,我还手动添加了执行myapp.py的myuser的.bashrc上tornado的路径:

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数据组的成员

我在/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

具有讽刺意味的是,在另一台Debian测试服务器上,同样配置的应用程序(aprat form/path/to/myapp.py和文件所有者)部署得很好。我真的很困惑,感谢你的提示

您不应该将tornado目录添加到PYTHONPATH,而应该添加包含它的目录(dist包)。我不确定debian是如何设置其默认python路径的,但默认情况下,dist包和site包等目录通常位于其上。如果没有,您实际上需要通过sitecustomize.py文件(使用site.addsitedir())添加它们,而不仅仅是修改pythonpath以使某些功能正常工作(尽管这对tornado并不重要)


.bashrc在supervisord下运行程序时不使用。如果您需要更改环境,请在supervisor.conf.中使用“environment”语句进行更改。

为什么不使用virtualenv正确安装tornado?手动设置PYTHONPATH是设计失败的标志。不知道如何在virtualenv@qliq这是一个很好的教程
[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