Category: Python

  • [VSCode] Magic Line 스크립트로 실행

    VS Code로 Cell 단위로 실행할 때도 있고 전체 스크립트로 실행할 때도 있는데, 항상 문제가 되는게 매직라인이다. VS Code에서 error 로 표기하는 것도 마음에 안들고 실행할 때마다 주석처리했다가 말았다가 하는 것도 귀찮았는데.. 다음의 방법으로 코드화가 가능하다. 일반(바닐라) Python에서는 get_ipython()은 None을 리턴하기 때문에 해당 코드는 AttributeError가 발생한다. 그래서 조금 수정을 해보자면, 아래처럼 처리가 가능하

  • Python에서 Threading 예제

    시리얼 포트로 들어오는 데이터 처리하는 가운데 Blocking 때문에 발생하는 이슈가 있음 우선은 단순히 non-blocking 모드로 serial 오픈하고, 정해진 byte 만 읽어오는 방식으로 수정해서 돌아는 가는데 좀더 fancy 한 방법이 보여서 스크랩 Readline을 별도의 스레드로 빼는 방법인데, 이렇게하면 정해진 바이트가 아니어도 데이터 처리하는데 문제가 없을듯.. 나중에 수정해보자 출처는 https://stackoverflow.com/questions/17553543/pyserial-non-blocking-read-loop

  • Synology python3 pyCurl 설치 실패기

    만들려고 하는 프로그램이 pyCurl을 필요로 하는데, pip로 설치하려고 하다보니 시놀로지에서는 아래 메세지를 뱉는다. FileNotFoundError: [Errno 2] No such file or directory: ‘curl-config’ Entware 를 깔고 python3-openssl 을 깔아줬더니 메세지가 변했다. sudo opkg install python3-openssl ModuleNotFoundError: No module named ‘setuptools’ setuptools 를 깔자 sudo opkg install python3-setuptools 뭐지. 다시 curl-config를 찾을 수 없다는 걸로 바뀌었다. 그런데 […]

  • 시놀로지 Python Telegram Bot 만들기: 메세지 응답 Message Handler

    메세지에 응답하도록 코드를 수정한다. 메세지 응답은 Updater를 이용하여 업데이트가 되며, CommandHandler 나 MessageHandler에 의해 동작하게 되는 데, 우선 MessageHandler 사용법을 정리한다. 아래와 같이 우선 모듈을 불러온다. from telegram.ext import Updater, MessageHandler, Filters 상태 업데이트를 위해 아래와 같이 Updater 설정한다. updater = Updater(token = ‘TOKEN HERE’) 그런데 아래와 같은 메세지가 자꾸 뜨면서 문제가 발생했다. ImportError: cannot […]

  • 시놀로지 Python Telegram Bot 만들기

    Telegram Bot을 만들기 위해 우선 Telegram API 설정. 우선 Telegram Bot 관련된 부분은 이미 만들어둔게 있으니 해당 Bot Token 을 사용하기로 하였다. Matlab 으로 Telegram Bot 대강 만들어서 쓸때는 API가 따로 없어서 다 만들어서 써야했는데 이래서 범용 언어를 쓰는게 좋은 것 같다. pip install python-telegram-bot 혹은python3 -m pip install –user “python-telegram-bot” 우선 Telegram API Test […]

  • 시놀로지 Python 세팅

    예전에 윈도우로 서버 돌릴때는 새로 봇이나 프로그램을 대충 짜서 돌려도 됐는데, 시놀로지로 서버를 옮긴 이후에 다른 방법을 고안해야했다. 그래서 택한 방법은 Python 으로 해보는 것 Web 관련된 부분은 많이 들어본 Django 프레임워크를 쓰면 되지 않을까 하는 막연한 생각으로 시작하면서, 정리해본다. 일단 Python 설정 부터, Python은 시놀로지 패키지 센터에서 Python3 를 설치하였다. 자세한 설정을 위해 SSH를 […]