2009-08-01 15 views
0

に発生した私は輸入シリアルエラーは、Python

import serial 

あり、メッセージを書いて発生しています。

Traceback (most recent call last): 
    File "<stdin>", line 1, in ? 
    File "/usr/lib/python2.4/site-packages/serial/__init__.py", line 20, in ? 
    from serialposix import * 
    File "/usr/lib/python2.4/site-packages/serial/serialposix.py", line 13, in ? 
    import sys, os, fcntl, termios, struct, select, errno 
ImportError: No module named termios 

何が問題なのですか。

答えて

3

termiosは少なくとも2.0以降のPython標準ライブラリにありますが(私は古いPythonバージョンにはあまりよく慣れていませんが)、それはいつもUnix専用のモジュールです。あなたの2.4はうまくいくはずです。もしあなたがUnixの味、つまりWindows以外の何かの下で動いているなら、多かれ少なかれ。あなたが見ている問題は、Pythonのインストールが間違っているか、Unix以外のプラットフォームにあることを示唆しています(Windowsでない場合は、それが何であるかを知ることが非常に興味があります)。

編集は:OPは、彼らがDebianのにしていることを明らかにした - 上流の構成要素からいくつかの重要な部分を削除し、ハード・ツー・ロケートパッケージでそれらを隠してきた長い歴史を持つ、長い彼らを傷つけた歴史を特にPythonパッケージ化。

私はいくつかのパッケージ検索エンジンを試しましたが、Pythonのtermiosをどこで隠していたのかわかりません(私がちょっと追加したdebianタグが、もちろん、デベロッパ固有のフォーラム(もちろん、どのバージョンが使用されているかを明確にすること)を尋ねることもできます。

他のPythonをインストールすることもできます(REAL Pythonではなく、「巧みにパッケージ化」されていない、つまり断片化していないもの、Debian travestyが欠けています)。たとえば、Python 2.4を使用し、.debを使用するとOPの重要な制約、PYTHON2.4_2.4.6-1UBUNTU3_I386.DEB(もちろん、その依存関係はOPの特定のDebianバージョンにどれくらいきれいにインストールされているか分かりません)。そうでなければ、もっと最近の完全なPythonを使うかもしれません。たとえば、here(特にDebian Etch用ですが、OPの正確なバージョンに合わせることをお勧めします)を参照してください。

+0

ありがとうございます。私はPython 2.4でdebianを使用しています。しかし、termiosはありません – freddiefujiwara

+0

debianは長い間、上流のディストリビューションを断片化していくつかの断片を隠す癖がありました。私はPython 2.4(または他のバージョン)からtermios.soを隠していたのかどうか分かりません。これは厳密にはデービッド関連の問題ですので、私はそれをタグ付けしてあなたの質問を編集し、回避策を提案します。 –

+0

os.pyとtermios.pyを見つけて、パスが一致するかどうかを確認してください。 os.pyはおそらく/usr/lib/python2.4にあります – mtasic85