我在Windows 7上使用带有Anaconda的Python 3.我使用conda install twisted
安装了Twisted,现在我正在尝试从控制台运行twisted
(或twistd
?) ,但我收到此错误
'twisted'不被识别为内部或外部命令,可操作程序或批处理文件。
这让我觉得路径中缺少一个目录,如this question中所示。 Anaconda安装在C:\Anaconda3
,但即使在C:\Anaconda3\Lib\site-packages\twisted
,也没有twisted.py
或twistd.py
文件。
我做错了什么,或者我找错了文件的位置?
这是一个问题,因为Twisted还没有正式移植到Python 3吗?
答案 0 :(得分:4)
twistd
运行扭曲的应用程序(虽然您可以像其他任何Python文件一样运行带有Twisted代码的脚本)并且应该位于Anaconda安装目录中的bin
目录中,所以如果可以的话得到conda
,您也可以获得twistd
。
twisted
是用于编写使用Twisted的代码的库,因此您无法从命令行运行该代码。
以下是Twisted on Python3 https://twistedmatrix.com/trac/milestone/Python-3.x
的状态这是关于在Python3上尚未提供的扭曲的特定票据https://twistedmatrix.com/trac/ticket/7497
答案 1 :(得分:3)
不要混淆"扭曲"用"
twistd
"。当您使用"twistd
"时,您 使用Python运行程序。 "twistd
"是一个Python程序,除其他外,可以从.tac
文件加载应用程序 (正如你在这里做的那样)。" Twisted命令提示符"是一个Twisted安装程序提供 方便帮助Windows上的人。它所做的一切都是 设置
%PATH%
以包含包含"twistd
"的目录程序即可。如果你可以从正常的命令提示符运行twistd 正确设置%PATH%或使用完整路径调用。
(来自How do you you run a Twisted application via Python (instead of via Twisted)?)
执行命令
set PATH=%PATH%;C:\path\to\twistd.py
在C:\path\to\twistd.py
中的位置插入twistd.py
文件的路径。
答案 2 :(得分:2)
Twisted是一个Python库。要使用它,您可以导入它,例如,这里是来自twisted home page的网络服务器:
#!/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()
将其保存到文件,例如counter_server.py
并运行:py counter_server.py
。您可以访问http://localhost:8080/
以确保其有效(它不适用于Python 3上的twisted-15.2.1
版本)。 Twisted is ported only partially to Python 3(该图表基于一年前的数据)。
twistd
是一个使用twisted
Python包的注释程序(注意:e
)。它还没有移植到Python 3(pip install twisted
在Python 2上安装它,但它没有在Python 3上安装它。)