我有一个烧瓶应用程序包裹在龙卷风服务器中,当我收到此错误时,我试图在远程服务器上运行应用程序:
Traceback (most recent call last):
File "run.py", line 7, in <module>
server.listen(80)
File "/home/ec2-user/gatekeeper/local/lib/python2.7/site-packages/tornado/tcpserver.py", line 126, in listen
sockets = bind_sockets(port, address=address)
File "/home/ec2-user/gatekeeper/local/lib/python2.7/site-packages/tornado/netutil.py", line 187, in bind_sockets
sock.bind(sockaddr)
File "/usr/lib64/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 13] Permission denied
所以我尝试使用sudo
,我得到了这个:
Traceback (most recent call last):
File "run.py", line 1, in <module>
from tornado.wsgi import WSGIContainer
ImportError: No module named tornado.wsgi
所以我想知道我是否必须以龙头安装龙卷风,这反过来意味着我的virtualenv
几乎没用。
答案 0 :(得分:1)
你究竟是如何启动应用程序并与virtualenv进行交互的? Sudo删除了大多数环境变量,这将有效地停用任何“激活的”virtualenv。如果您使用source $ENV/bin/activate
,则需要在sudo
之后执行此操作。或者您可以通过运行virtualenv的python可执行文件activate
来避免使用sudo $ENV/bin/python run.py
。