python没有名为seri的模块

2024-05-14 21:36:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python程序有问题。我编写这个程序是为了把数据(温度)从arduino送到我的raspberry pi sqlite数据库。但在第4行(导入序列号)出现了一个错误,说“importterror:没有名为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()

Tags: import程序executedatetimetimecount错误serial
2条回答

如果您保存的文件名与模块名相同,则它将给您错误。 例如,如果您的文件名是“serial.py”,并且您已经导入了serial,那么它将首先签入serial.py中以获取您声明的方法。

这里有一个关于How to install pip with Python 3?的问题。之后,可以使用pip安装与python-3.x兼容的pyserial,如下所示:

$ sudo pip3 install pyserial

这里有一个doc关于如何使用与python-3.x兼容的源代码安装pyserial

注意:如果您的平台上同时有python-2.x和python-3.x,比如Arch Linux,那么当您想安装一些包时,您应该小心地选择包应该与哪个python版本兼容,然后使用pip2pip3来获取和安装这些包。

相关问题 更多 >

    热门问题