0

私はラップトップでpython2.6.1をビルドします。ビルドは成功しました。その後、./ pythonを使用してpythonを実行し、selectモジュールをインポートしようとしました

>>>import select
>>>select.epoll()
<select.epoll object at 0xb76140d0>

その後、Pythonビルドフォルダを別のラップトップにコピーして、Pythonを実行しようとしました

>>>import select
>>> select.epoll()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'epoll'

この問題を解決する方法

4

1 に答える 1

1

マニュアルから:

select.epoll([sizehint = -1])

(Linux 2.5.44以降でのみサポートされます。) エッジポーリングオブジェクトを返します。これは、I/Oイベントのエッジまたはレベルトリガーインターフェイスとして使用できます。オブジェクトのエポーリングでサポートされるメソッドについては、以下の「エッジおよびレベルトリガーのポーリング(epoll)オブジェクト」セクションを参照してください。

バージョン2.6の新機能。

そして明らかに、ディストロメーカーはPythonビルド設定などでそれを無効にすることができます。私の知る限り、それはglibcにのみ依存します。また、同じ名前の独自のモジュールからではなく、システム選択モジュールからインポートしていることを確認しますか?(チェックselect.__file__;組み込みモジュールとしてファイルを含めるべきではありません;)

于 2012-05-22T21:47:53.283 に答える