<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><br><br><br><br><br><div>Experts:<br>您好!<br><br>my ifinger.tac file content like following:</div><div><pre style="padding: 1em; border-bottom-width: thin; border-bottom-color: black; border-style: none none solid; line-height: 1.2em; margin-top: 0px; margin-bottom: 0px;"><span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">from</span> <span class="py-src-variable">twisted</span>.<span class="py-src-variable">application</span> <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">import</span> <span class="py-src-variable">internet</span>, <span class="py-src-variable">service</span>
<span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">from</span> <span class="py-src-variable">twisted</span>.<span class="py-src-variable">internet</span> <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">import</span> <span class="py-src-variable">protocol</span>, <span class="py-src-variable">reactor</span>, <span class="py-src-variable">defer</span>
<span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">from</span> <span class="py-src-variable">twisted</span>.<span class="py-src-variable">protocols</span> <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">import</span> <span class="py-src-variable">basic</span>

<span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">class</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">FingerProtocol</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">basic</span>.<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">LineReceiver</span>):
    <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">def</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">lineReceived</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">self</span>, <span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">user</span>):
        <span class="py-src-variable">d</span> = <span class="py-src-variable">self</span>.<span class="py-src-variable">factory</span>.<span class="py-src-variable">getUser</span>(<span class="py-src-variable">user</span>)

        <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">def</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">onError</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">err</span>):
            <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">return</span> <span class="py-src-string" style="color: rgb(17, 85, 17);">'Internal error in server'</span>
        <span class="py-src-variable">d</span>.<span class="py-src-variable">addErrback</span>(<span class="py-src-variable">onError</span>)

        <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">def</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">writeResponse</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">message</span>):
            <span class="py-src-variable">self</span>.<span class="py-src-variable">transport</span>.<span class="py-src-variable">write</span>(<span class="py-src-variable">message</span> + <span class="py-src-string" style="color: rgb(17, 85, 17);">'\r\n'</span>)
            <span class="py-src-variable">self</span>.<span class="py-src-variable">transport</span>.<span class="py-src-variable">loseConnection</span>()
        <span class="py-src-variable">d</span>.<span class="py-src-variable">addCallback</span>(<span class="py-src-variable">writeResponse</span>)

<span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">class</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">FingerFactory</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">protocol</span>.<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">ServerFactory</span>):
    <span class="py-src-variable">protocol</span> = <span class="py-src-variable">FingerProtocol</span>

    <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">def</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">__init__</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">self</span>, **<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">kwargs</span>):
        <span class="py-src-variable">self</span>.<span class="py-src-variable">users</span> = <span class="py-src-variable">kwargs</span>

    <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">def</span> <span class="py-src-identifier" style="color: rgb(204, 0, 0);">getUser</span>(<span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">self</span>, <span class="py-src-parameter" style="color: rgb(0, 0, 102); font-weight: bold; line-height: 1em;">user</span>):
        <span class="py-src-keyword" style="color: rgb(51, 51, 204); font-weight: bold; line-height: 1em;">return</span> <span class="py-src-variable">defer</span>.<span class="py-src-variable">succeed</span>(<span class="py-src-variable">self</span>.<span class="py-src-variable">users</span>.<span class="py-src-variable">get</span>(<span class="py-src-variable">user</span>, <span class="py-src-string" style="color: rgb(17, 85, 17);">"No such user"</span>))

<span class="py-src-variable">application</span> = <span class="py-src-variable">service</span>.<span class="py-src-variable">Application</span>(<span class="py-src-string" style="color: rgb(17, 85, 17);">'finger'</span>, <span class="py-src-variable">uid</span>=<span class="py-src-number">1</span>, <span class="py-src-variable">gid</span>=<span class="py-src-number">1</span>)
<span class="py-src-variable">factory</span> = <span class="py-src-variable">FingerFactory</span>(<span class="py-src-variable">moshez</span>=<span class="py-src-string" style="color: rgb(17, 85, 17);">'Happy and well'</span>)
<span class="py-src-variable">internet</span>.<span class="py-src-variable">TCPServer</span>(<span class="py-src-number">79</span>, <span class="py-src-variable">factory</span>).<span class="py-src-variable">setServiceParent</span>(<span class="py-src-variable">service</span>.<span class="py-src-variable">IServiceCollection</span>(<span class="py-src-variable">application</span>))<span style="line-height: 1.7;">                   </span></pre></div><div><br></div><div>when running this script with command-line : twistd -y ifinger.tac, error occurs like :</div><div><br></div><div><b></b></div><span style="color: rgb(255, 0, 0);"><div><b style="color: rgb(255, 0, 0);">Traceback (most recent call last):</b></div><div><b style="color: rgb(255, 0, 0);">    File "/usr/local/bin/twistd", line 7, in <module></b></div><div><b style="color: rgb(255, 0, 0);">        import _preamble</b></div><div><b style="color: rgb(255, 0, 0);">ImportError: No module named '_preamble'</b></div><div><b><br></b></div><div><b style="color: rgb(255, 0, 0);">During handling of the above exception, another exception occurred:</b></div><div><b><br></b></div></span><div><span style="color: rgb(255, 0, 0);"><div><b style="color: rgb(255, 0, 0);">Traceback (most recent call last):</b></div><div><b style="color: rgb(255, 0, 0);">    File "/usr/local/bin/twistd", line 9, in <module></b></div><div><b style="color: rgb(255, 0, 0);">        sys.exc_clear()</b></div><div><b style="color: rgb(255, 0, 0);">AttributeError: 'module' object has no attribute 'exc_clear'</b></div></span><div><b></b></div><div><br></div><div>And i run python3 in interactive mode to check if exc_clear method is defined in sys,  command line like :</div><div><b></b></div><span style="color: rgb(255, 0, 0);"><div><b style="color: rgb(255, 0, 0);">>>>import sys</b></div><div><b style="color: rgb(255, 0, 0);">>>>sys.__dict__["exc_clear"]</b></div></span><div><div style="color: rgb(255, 0, 0);"><b><span style="color: rgb(255, 0, 0);">Traceback (most recent call las</span>t):</b></div><div style="color: rgb(255, 0, 0);"><b>    File "<stdin>", line 1, in <module></b></div><div style="color: rgb(255, 0, 0);"><b>        sys.exc_clear()</b></div><div style="color: rgb(255, 0, 0);"><b>KeyError: 'exc_clear'</b></div><div style="color: rgb(255, 0, 0);"><b>>>></b></div></div></div><div><br></div><div>Is there any configuration i should do ? please help to give me an answer.</div><div><br></div><div> 谢谢!!<br><font color="#000000">----------------------------<br></font><font color="#000000">姓名 : 吴志高/Charles<br></font><font color="#000000">电话 : (+086)13410859946<br></font><div>邮箱 : <a href="mailto:wuzhigaoem@163.com">wuzhigaoem@163.com</a></div><div><font color="#000000">================================================</font><br></div></div></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>