Сбой скрипта Python 3 на lru_cache - PullRequest
1 голос
/ 25 октября 2019

У меня есть 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)

Это похоже на то, что папка как-то испорчена после запуска моего скрипта, что мне не хватает?

...