LoginSignup
0
0

More than 5 years have passed since last update.

(未解決) pySerial 3.* + CentOS 6.8 > Python 2.6は対応しない (ValueError: zero length field name in format) | Python 2.7は対応してそう > Python 2.7と3.6ではConnection timed out

Last updated at Posted at 2018-01-19
動作環境
CentOS 6.8 (64bit)
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 

概要

USB<->RS-232C変換ケーブルを使用して、シリアル出力のツールを作ろうとしていた。

pipとpySerial関連をCentOS6.8用にセットアップした。

上記のループバック用コード(名前をloop_test_180119.pyとした)実行時に下記のエラーとなる。

$ sudo python loop_test_180119.py
Hello
Traceback (most recent call last):
  File "loop_test_180119.py", line 16, in <module>
    main()
  File "loop_test_180119.py", line 6, in main
    con1=serial.Serial('/dev/ttyUSB0', 9600, timeout=10)
  File "/usr/lib/python2.6/site-packages/serial/serialutil.py", line 240, in __init__
    self.open()
  File "/usr/lib/python2.6/site-packages/serial/serialposix.py", line 272, in open
    self._reconfigure_port(force_update=True)
  File "/usr/lib/python2.6/site-packages/serial/serialposix.py", line 345, in _reconfigure_port
    ispeed = ospeed = getattr(termios, 'B{}'.format(self._baudrate))
ValueError: zero length field name in format

エラーの理由

pyserial doesn't support Python 2.6 according to its classifiers and documentation.

Python 2.6は対応しない。
Python 2.7は対応していそう。

Software CollectionsによるPython 2.7 > 未解決

Cent OS 6で手軽にPython 2.7を使う方法
に記載の方法でPython 2.7.13を使用できるようにしてみました。

実行時にpySerialが見つからないとなり、pip install pyserialではPython2.6用にインストール済となりました。

Python3.6で対応

Python2.7に上げるよりもPython3.6を別途インストールして実行できるようにしました。

CentOS6.9にPython3を導入 @ EnjoITs
の記事にてコマンドを3.6用に適宜変更してセットアップしました。

Python 2.7と3.6ではConnection timed out

Python 3.6ではConnection timed outエラーが出る。

症状としては以下と同じようだ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0