Hen*_*Hub 0 python path tornado
我正在尝试仅运行Tornado文档中的Hello World代码
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
Run Code Online (Sandbox Code Playgroud)
除非出现错误: AttributeError: module 'test' has no attribute '__path__'
我只是使用IDLE运行 test.py
我以为这是由于我的Windows 10计算机没有Python可以访问,PATH但是即使在Python 3.6中添加了Python,PATH我仍然遇到相同的错误。有任何想法吗?
屏幕截图是我向其中添加python的方式PATH,我认为我理解正确。
------ 编辑 ------
我会添加一些我遇到的错误/回溯的屏幕截图。第一个是test.pyWindows 10中在IDLE 3.6中运行时下面的命令提示符。
解决方案:运行不带-m参数的文件。
另一种解决方案是提供不带.py扩展名的文件名:
python -m test
Run Code Online (Sandbox Code Playgroud)
这也将起作用。
说明:
该-m参数告诉Python运行Python路径中存在的模块(文件)。它不使用文件名,而是使用模块名。区别在于文件名包含.py后缀,而模块名不包含后缀。
因此,您也可以这样运行test.py文件:python -m test。
何时使用-m参数:
该-m参数是那里的便利。例如,如果要运行python的默认http服务器(python随附),则可以编写以下命令:
python -m http.server
Run Code Online (Sandbox Code Playgroud)
这将为您启动http服务器。-m参数给您带来的便利是,您可以从系统中的任何位置编写此命令,而python会自动http在系统的中查找被调用的软件包Path。
没有-m参数,如果您想运行http服务器,则必须给出其完整路径,例如:
python C:\path\to\python\installation\http\server.py
Run Code Online (Sandbox Code Playgroud)
因此,-marguments使得运行中存在的模块(文件)变得容易Path。
使用Tornado,您是否会知道如何杀死Python解释器?A
CNTRL-C什么也没做。
我使用Linux,Ctrl-C对我来说工作正常。在Windows上,您可以尝试Ctrl-D或Ctrl-Z。或这里有一些答案:使用ctrl + c停止python
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |