У меня есть Raspberry Pi, выступающий в качестве устройства чтения карт MFRC522. Пока у меня есть скрипт, который работал на python 2.7, но когда я попытался перейти на python 3, произошла странная вещь.
- Я использовал для этого обновленную библиотеку: https://github.com/pimylifeup/MFRC522-python и соответственно скорректировал свой скрипт
- Я установил pip3 и spidev
- Вот где происходит странная вещь,Если я запускаю демонстрационный скрипт из репозитория выше в новой папке, он работает, круто.
- Но если я поместил предыдущий скрипт в ту же папку, он выдаст ошибку, как показано ниже. И после этого, если я снова попробую запустить демо-скрипт, произойдет та же ошибка.
- Перемещение обоих скриптов в разные папки, имеет одинаковый эффект. Я могу запустить демо только перед моим скриптом. Делать это после невозможно.
Ошибка:
File "/usr/lib/python3.7/re.py", line 297, in <module>
@functools.lru_cache(_MAXCACHE)
AttributeError: module 'functools' has no attribute 'lru_cache'
Мой скрипт:
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
import time
import requests
import signal
import sys
import os
# some functions non related to MFRC522
reader = SimpleMFRC522()
while continue_reading:
try:
id, text = reader.read()
#print id
#print "---"
ver = query_server(id)
if ver == 1:
open_relay(5)
else:
#do something
finally:
time.sleep(0.5)
Это похоже на то, что папка как-то испорчена после запуска моего скрипта, что мне не хватает?