我的python程序有问题。我编写了程序来从arduino获取数据(温度)到我的raspberry pi sqlite数据库。但它在第4行(导入序列)中给出了一个错误,说“ImportError:没有名为serial的模块”。我使用python3并且已经更新了pyserial。我是python中的新手,所以我犯了一些错误...
#!/ussr/bin/python
# -*- coding: utf-8 -*-
import serial
import datetime
import sqlite3 as lite
import sys
import time
ser = serial.Serial('/dev/ttyACM1', 9600, timeout=1)
ser.open()
count = 0
con = lite.connect('realtime_data.db')
try:
while 1:
indata = ser.readline()
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
count = count + 1
print (count)
with con:
cur = con.cursor()
cur.execute("INSERT INTO Temperatures VALUES( ?, ?, ? )", (count, current_time, indata))
if count > 100:
cur.execute("DELETE FROM Temperatures")
count = 0
# time.sleep(3) #upload to database every 5 seconds
except KeyboardInterrupt:
ser.close()
答案 0 :(得分:16)
以下是关于How to install pip with Python 3?的问题。之后,您可以使用pip
安装与python-3.x兼容的pyserial
,如下所示:
$ sudo pip3 install pyserial
以下是关于如何使用与python-3.x兼容的源代码安装pyserial
的{{3}}
pip2
或pip3
来获取并安装这些软件包。
答案 1 :(得分:1)
如果您保存的文件名与模块名称相同,那么它将给您错误。 例如,如果您的文件名是“serial.py”并且您有导入序列号,那么它将首先检查serial.py中是否已声明的方法。