tapo c210 해킹? 혼자서 움직일때 확인 방법 (가정용 CCTV)

 TPLINK tapo c210, c200 혼자서 움직였을때 확인 방법  아이가 집에 오고부터 거실과 아이방에 가정용 CCTV를 들여 놨다. CCTV 해킹이다 뭐다 말은 많았지만 내새끼 안전이 더 중요한 법! 별 문제 없겠지 하고 바로 구입했다. 구입한 제품은 TPLINK 사의 tapo C210 제품 회전도 되고 움직임과 소리를 감지해서 자동 녹화도 되고 야간에 나이트뷰도 지원해서 자고 있는 아이 확인하기에도 좋고 5개월 가량 문제 없이 잘쓰고 있었다. 그런데.. 오늘 와이프한테 급히 전화가 왔다. 혹시 CCTV 제어를 했냐고 무슨 말이냐면 c210 이 제품은 핸드폰으로 원격으로 조작이 가능하다. 가끔 혼자 아이보고 있는 와이프를 놀래키려고 원격으로 좌우로 흔들거나 소리를 내적이 있어 내가 그랬다고 생각했나보다.  "CCTV가 혼자서 움직였어.. 한바퀴 돌았어" CCTV 해킹 아닌가? 하는 마음에 TPLINK 홈페이지에 들어가서 검색을 해봤다. 여러가지 확인해야할 사항이 적혀있다. 긴가민가 하지만 하라는대로 하고 한동안 다시 지켜봐야겠다. CCTV가 혼자서 움직이는 같은 사례가 있으면 아래와 같이 적용 후 기다려보자 1. 카메라가 조작 없이 자동으로 회전하는 경우 - 움직임 감지 활성화 해당 항목은 Tapo C200, C210, TC70 과 같이, 상하 / 좌우 회전이 가능한 카메라에 해당 Tapo Care(무료 체험판 포함) 기능을 사용하고 있다면, 해당 카메라의 움직임 감지 기능이 활성화 되어 있는지 확인 Tapo Care 에는 움직임 추적 기능이 포함되며, 움직임 감지가 활성화 되어 있다면 카메라가 움직임이 있는 방향으로 자동으로 고개를 돌릴 수 있습니다. 또한, 움직임 추적은 감지와 별도로 활성화 될 수 있사오니 해당 옵션을 확인하여 움직임 추적 기능을 비활성화 해주시기 바랍니다. 2. 카메라가 조작 없이 자동으로 회전하는 경우 - 자동 업데이트 Tapo 카메라의 최초 설치 시, 아래와 같이 카메라의 펌웨어를 자동으로 업데이트 하는

[python오류] openai, googletrans 동시 사용 오류 발생 수정

  

[python오류] openai, googletrans 동시 사용 오류 발생 수정  cannot import name 'BaseTransport' from 'httpx'


python 컴파일 중 오류 발생

openai와 googletans를 활용 프로그램을 만들다 보니.. 오류가 발생했다. 이전에는 크게 문제가 없없는데.. 갑자기 또 오류가 발생하네.. 

ImportError: cannot import name 'BaseTransport' from 'httpx' (C:\Python\PyNW\Lib\site-packages\httpx\__init__.py)

컴파일 하면 위와 같은 메시지가 뜨면서 컴파일이 되지 않는다. 뭐가 문제 일까? 해결방법은 무엇일까?


1. Python openai, googletrans 충돌 발생

openai와 googletans는 모두 httpx를 사용하는데 최근에 openai가 업데이트를 하면서 httpx 최신버전을 사용하고 googletans는 구버전 httpx를 참조하여 발생한 오류이다.

Traceback (most recent call last):

  File "C:\Python\PyNW\Lib\multiprocessing\process.py", line 314, in _bootstrap

    self.run()

  File "C:\Python\PyNW\Lib\multiprocessing\process.py", line 108, in run

    self._target(*self._args, **self._kwargs)

  File "C:\Python\PyNW\Lib\site-packages\uvicorn\_subprocess.py", line 78, in subprocess_started

    target(sockets=sockets)

  File "C:\Python\PyNW\Lib\site-packages\uvicorn\server.py", line 62, in run

    return asyncio.run(self.serve(sockets=sockets))

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Python\PyNW\Lib\asyncio\runners.py", line 190, in run

    return runner.run(main)

           ^^^^^^^^^^^^^^^^

  File "C:\Python\PyNW\Lib\asyncio\runners.py", line 118, in run

    return self._loop.run_until_complete(task)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Python\PyNW\Lib\asyncio\base_events.py", line 654, in run_until_complete

    return future.result()

           ^^^^^^^^^^^^^^^

  File "C:\Python\PyNW\Lib\site-packages\uvicorn\server.py", line 69, in serve

    config.load()

  File "C:\Python\PyNW\Lib\site-packages\uvicorn\config.py", line 458, in load

    self.loaded_app = import_from_string(self.app)

                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Python\PyNW\Lib\site-packages\uvicorn\importer.py", line 21, in import_from_string

    module = importlib.import_module(module_str)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Python\PyNW\Lib\importlib\__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import

  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load

  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked

  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed

  File "C:\py-nongwoo\NW_FT_API_001\run.py", line 1, in <module>

    from apps.main import app

  File "C:\py-nongwoo\NW_FT_API_001\apps\main.py", line 20, in <module>

    from apps.routers_extn import api_aligo_kakao, api_aligo_sms, api_hanjin, api_ilyang, api_test_t

  File "C:\py-nongwoo\NW_FT_API_001\apps\routers_extn\api_test_t.py", line 10, in <module>

    from openai import OpenAI

  File "C:\Python\PyNW\Lib\site-packages\openai\__init__.py", line 8, in <module>

    from . import types

    from .image import Image as Image

  File "C:\Python\PyNW\Lib\site-packages\openai\types\image.py", line 5, in <module>

    from .._models import BaseModel

  File "C:\Python\PyNW\Lib\site-packages\openai\_models.py", line 22, in <module>

    from ._types import (

  File "C:\Python\PyNW\Lib\site-packages\openai\_types.py", line 23, in <module>

    from httpx import URL, Proxy, Timeout, Response, BaseTransport, AsyncBaseTransport


ImportError: cannot import name 'BaseTransport' from 'httpx' (C:\Python\PyNW\Lib\site-packages\httpx\__init__.py)


2. 해결 방법

openai와 googletans 동시에 사용하면 발생하고 있는 일시적인 오류 같고 곧 googletans 쪽에서 패치가 나올껀데.. 일시적으로 처리해보자

방법1 : openai 버전 다운그레이드
pip install -U openai==0.28

방법2 : googletans 삭제 후 httpx 버전 업그레이드
pip uninstall googletranspip install -U httpx

마무리

오늘은 ImportError: cannot import name 'BaseTransport' from 'httpx' 문구 오류 발생 시 처리 방법에 대해서 알아보았습니다. 빨리 googletans 패치가 나왔으면 좋겠네요. 쉽고 빠른 코딩라이프를 위해 모두 화이팅!

댓글