Python 如何从控制台运行twisted?
我在Windows7上使用Python 3和Anaconda。我用Python 如何从控制台运行twisted?,python,python-3.x,twisted,anaconda,Python,Python 3.x,Twisted,Anaconda,我在Windows7上使用Python 3和Anaconda。我用conda install Twisted安装了Twisted,现在我正试图从控制台运行Twisted(或Twisted?),但我收到了这个错误 “twisted”不被识别为内部或外部命令、可操作程序或批处理文件 这让我觉得路径中缺少一个目录,如中所示。Anaconda安装在C:\Anaconda3中,但即使在C:\Anaconda3\Lib\site packages\twisted中,也没有twisted.py或twistd.
conda install Twisted
安装了Twisted,现在我正试图从控制台运行Twisted
(或Twisted
?),但我收到了这个错误
“twisted”不被识别为内部或外部命令、可操作程序或批处理文件
这让我觉得路径中缺少一个目录,如中所示。Anaconda安装在C:\Anaconda3
中,但即使在C:\Anaconda3\Lib\site packages\twisted
中,也没有twisted.py
或twistd.py
文件
我是做错了什么,还是在错误的地方查找文件
这是不是因为Twisted还没有正式移植到Python3
不要将“Twisted”与“twistd
”混淆。使用“twistd
”时
正在使用Python运行该程序。“twistd
”是一个Python程序,它可以从.tac
文件加载应用程序
(就像你在这里做的那样)
“Twisted命令提示符”是提供的Twisted安装程序
方便帮助Windows上的用户。它所做的只是
设置%PATH%
以包括包含“twistd
”程序的目录。如果需要,可以从普通命令提示符运行twistd
正确设置%PATH%,或使用完整路径调用它
(来自)
运行:
在
C:\path\to\twistd.py
中插入twistd.py
文件的路径。twistd
运行扭曲的应用程序(尽管您可以像任何其他Python文件一样运行包含扭曲代码的脚本),并且应该位于Anaconda安装目录中的bin
目录中,因此,如果你能得到conda
,你也能得到twistd
twisted
是用于编写使用twisted的代码的库,因此不能从命令行运行该库
下面是Twisted on Python3的状态
这是关于twistd在Python3上还不可用的问题,Twist是一个Python库。要使用它,您可以导入它,例如,这里有一个web服务器,来自: 将其保存到文件中,例如,
counter\u server.py
并运行:py counter\u server.py
。您可以访问http://localhost:8080/
以确保它工作正常(在Python3上的twisted-15.2.1
版本中不起作用)。(图表基于一年前的数据)
twistd
是一个使用twisted
Python包的Python程序(注意:e
)。它还没有移植到Python 3(pip install twisted
在Python 2上安装它,但没有在Python 3上安装它)。twisted
应该将控制台脚本安装到Python安装的二进制/脚本文件夹中。我没有anaconda,但它基本上只是一个python安装。因此,请尝试在C:\Anaconda3`目录中用twistd.bat`或twistd.
搜索twistd
。你试过twistd吗?@MichaelA你为什么要运行这个命令?Python代码在运行Python filename.py
时执行得非常完美。它应该在/twisted/scripts/twistd.py
中。我得到了与您相同的结果。twisted的anaconda 2.3.0/python 3.4.3安装只创建pkgs/twisted-15.2.1-py34_0.tar.bz2。安装后,可以导入twisted和它的一些子类,但不是所有的子类,如果它完成的话,这些子类应该在那里。总之,twisted for python 3的此版本不完整,也没有快速修复。但如何修复此问题?@J.C.Rocamonde它通知询问者twisted尚未完全可用,在何处检查移植到Python3的进度,如果他想要所有twisted,他将不得不使用Python2,如果他这样做了,它就会像预期的那样工作。
set PATH=%PATH%;C:\path\to\twistd.py
#!/usr/bin/env python
from twisted.web import server, resource
from twisted.internet import reactor, endpoints
class Counter(resource.Resource):
isLeaf = True
numberRequests = 0
def render_GET(self, request):
self.numberRequests += 1
request.setHeader("content-type", "text/plain")
return "I am request #" + str(self.numberRequests) + "\n"
endpoints.serverFromString(reactor, "tcp:8080").listen(server.Site(Counter()))
reactor.run()