Ubuntuボックスにpython 2.7.2で最新のpySerialをインストールしました。ほとんどの場合は正常に動作しますが、 'tools'パッケージをインポートしようとすると、 't' 'tools'を見つけません。 pySerialのドキュメント は、この 'tools'パッケージを明示的に参照しています。
>>> from serial import tools
Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
import serial.tools
ImportError: No module named tools
そして私が:
>>> serial.VERSION
'2.5'
Source Forge に基づく最新バージョン
では、なぜpySerialの「ツール」パッケージにアクセスできないのですか?
pip
を使用してpyserial
をインストールします。最初のインストールpip:
Sudo apt-get install python-pip
その後、pyserial
をインストールします。
Sudo pip install pyserial
私は同じ問題を抱えていたのでここに着きました。奇妙なことは
import serial
働いたが、
from serial.tools import list_ports
しなかった。
スクリプト "serial.py"という名前の馬鹿なことがわかりました。名前を変更すると、すべてが機能しました。
Ubuntuパッケージがアップストリームと完全に一致していないようです。 SVNの公式pySerialパッケージを比較します。
http://pyserial.svn.sourceforge.net/viewvc/pyserial/trunk/pyserial/serial/
ランチパッドのubuntuパッケージへ:
http://Bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/pyserial/raring/files/head:/serial/
ツールもそこにありません。 miniterm.py
スクリプトを保持し、どこかにインストールするように見えます。ただし、debパッケージングに精通していないので、どこを理解しているかはわかりません。
Site-packagesフォルダーのシリアルからではなく、site-packagesフォルダーのpyserial-2.4-py2.7.Eggがインポートされていました。このファイルの名前を変更すると、このファイルからインポートされなくなり、正常に機能しました。これを簡単にデバッグできます
import serial
serial._ _path_ _
シリアルのインポート元を確認します。
はい、python-pip installを使用して、、、、、、、、、アップグレード、、、シリアルのバージョンは2.7
Linuxで「pip install --upgrade」を実行してもうまくいかない場合(Linuxで/usr/lib/python2.7/dist-packages
にシリアルパッケージがあるかどうかを確認できます) /usr/**local**/lib/python2.7/dist-packages/serial
に移動します。何らかの理由でusr/lib/python2.7/
にあるものが優先され、そのバージョンのpyserialにはモジュールツールが存在しません。名前を変更するか、ディレクトリを削除すると、問題が解決します。
私の場合、次のエラーが発生した後、serial
をインストールしましたが、pyserial
はインストールしませんでした。
ImportError: No module named 'serial'
その後、import serial
は大丈夫でしたが、from serial import tools
動作しません。
ただSudo pip uninstall serial
およびSudo pip install pyserial
私のような人々を助けることを願っています。