MeCab 및 mecab-python 설치하기(MacOS)
안녕하세요 코코넛입니다.
이번에는 형태소분석기 중에서도 뛰어난 능력을 자랑하는 은전한닢(MeCab)을
MacOS에 설치하는 방법을 메모할 겸 포스트하게 되었습니다.
https://bitbucket.org/eunjeon/mecab-ko/downloads/
우선 위의 링크의 최신 버전의 mecab-ko 을 다운로드 하여 설치합니다. (혹은 mecab-0.996-ko-0.9.2.tar.gz)
tar xzvf mecab-0.996-ko-0.9.2.tar.gz cd mecab-0.996-ko-0.9.2 ./configure make sudo make install
위의 링크로 가서 최신 사전을 다운로드하여 설치합니다. (혹은 mecab-ko-dic-2.1.1-20180720.tar.gz)
tar xvfz mecab-ko-dic-2.1.1-20180720.tar.gz cd mecab-ko-dic-2.1.1-20180720 ./configure make sudo make install
git clone https://bitbucket.org/eunjeon/mecab-python-0.996.git cd mecab-python-0.996 python setup.py build python setup.py install
그런데 python setup.py 을 통해 설치가 안될 때가 있습니다.
MACOSX_DEPLOYMENT_TARGET=10.9 python3 setup.py build MACOSX_DEPLOYMENT_TARGET=10.9 python3 setup.py install
import MeCab m = MeCab.Tagger() te = m.parse('영등포구청역에 있는 맛집 좀 알려주세요.') print(te)
'Mac' 카테고리의 다른 글
맥북 egpu 연동(nvidia) (0) | 2019.06.10 |
---|---|
MacOS 에서 SIP(System Integrity Protection status) 해제하기 (0) | 2018.04.13 |
우분투에 turn server 구축하기
안녕하세요 이번에는 제가 WebRTC 를 이용해 무언가?를 만드는 과정에서
peer 간에 네트워크 상에서 연결을 중계시켜주는 역할을 하는 turnserver를
구축하여 동작하는 것까지 포스팅을 해보았습니다.
우분투 환경 기준으로 작성을 하였습니다.
- coturn을 설치합니다. (sudo apt install coturn)
- /etc/turnserver.conf 파일을 수정하여 서버환경을 셋팅합니다.
- turnadmin으로 사용자 계정을 추가해 줍니다.
- coturn을 서버상에서 실행합니다. 끝~
turnserver.conf 는 제가 셋팅한 파일의 내용을 올리겠습니다. (네트워크 환경에 따라 조금씩 수정하셔야 합니다.)
아래의 설정을 하기 전에 포트포워딩 또는 방화벽을 통해 tcp 3478 & tcp 5349 포트를 허용해 주셔야 합니다.
# turnserver의 포트입니다. listening-port=3478 # tls 포트입니다. tls-listening-port=5349 # 외부IP를 넣어줍니다.(공유기 사용시 WAN상의 외부IP를 넣어줍니다.) external-ip=123.123.126.123 # 로그를 뽑을 수 있으니 주석을 해제하였습니다. verbose # 이것도 주석해제 fingerprint # 인증방식 주석해제 lt-cred-mech # turnserver 도메인 네임입니다. server-name=test.com # 릴름은 원하는 네임명으로 해줍니다. realm=testname
위의 /etc/turnserver.conf 를 수정한 뒤에 저장을 해줍니다.
그 다음에는 turnadmin 을 통해 turnserver를 사용할 수 있는 계정을 생성해 줍니다.
turnadmin -a -u 계정이름 -p 계정패스워드 -r 릴름명
위의 방식으로 turnadmin을 통해 계정을 추가하면 거의 끝!
마지막으로 turnserver 실행~
sudo service coturn start
turnserver에 유저가 접속하여 중계 상태가 되면
/var/log/turn_14545_2019-01-27.log 같은 형식을 log 파일의 용량이 늘어나면서 로그가 쌓이게 됩니다.
여기까지 우분투서버에 turn 서버 설치하기 였습니다.
끝~!
'etc' 카테고리의 다른 글
윈도우 WSL2 설정 (포트포워딩, vmmem 이슈, 시작 프로그램 등) (0) | 2021.12.25 |
---|---|
wakeonlan use by terminal(wol 리눅스에서 사용하기) (0) | 2018.04.10 |
fortran 컴파일하고 사용하기 (0) | 2017.11.17 |
간단한 python 이메일 연동하기
안녕하세요 2019년 새해 첫 포스팅은 이메일에 관한 글입니다.
주제는 파이썬으로 이메일 연동하기입니다.
이메일은 크게 smtp(발신) / pop, imap(수신) 프로토콜을 이용해서 전송 및 수신을 합니다.
저는 몇 일간의 삽질을 바탕으로 받고 보내는 함수를 만들었습니다.
이를 바탕으로 여러분도 응용하여 이메일을 손쉽게 제어하시기 바랍니다.
자, 이제 소스를 공개!
import smtplib import imaplib import poplib import email from email.mime.text import MIMEText from datetime import datetime # 보낼 곳과 연동할 이메일 계정 sendto = '받는사람@이메일.com' user = '보내는사람@이메일.com' password = "보내는사람 이메일 패스워드" # 메일을 보내는 함수(smtp) def send_mail(user, password, sendto, msg_body): # smtp server smtpsrv = "smtp.office365.com" # 발신 메일서버 주소 smtpserver = smtplib.SMTP(smtpsrv, 587) # 발신 메일서버 포트 smtpserver.ehlo() smtpserver.starttls() smtpserver.login(user, password) msg = MIMEText(msg_body) msg['From'] = user msg['To'] = sendto msg['Subject'] = "Module Testing email Subject" smtpserver.sendmail(user, sendto, msg.as_string()) print('done!') smtpserver.close() # 메일을 받는 함수(imap4) def check_mail_imap(user, password): # imap server imapsrv = "outlook.office365.com" imapserver = imaplib.IMAP4_SSL(imapsrv, "993") imapserver.login(user, password) imapserver.select('INBOX') res, unseen_data = imapserver.search(None, '(UNSEEN)') ids = unseen_data[0] id_list = ids.split() latest_email_id = id_list[-10:] # 메일리스트를 받아서 내용을 파일로 저장하는 함수 for each_mail in latest_email_id: # fetch the email body (RFC822) for the given ID result, data = imapserver.fetch(each_mail, "(RFC822)") msg = email.message_from_bytes(data[0][1]) while msg.is_multipart(): msg = msg.get_payload(0) content = msg.get_payload(decode=True) f = open("email_" + str(datetime.now()) + ".html", "wb") f.write(content) f.close() imapserver.close() imapserver.logout() # 메일을 받는 함수(pop) def check_mail_pop(user, password): # imap server popsrv = "pop.test.kr" popserver = poplib.POP3(popsrv, "110") popserver.user(user) popserver.pass_(password) numMsg = len(popserver.list()[1]) for i in range(numMsg): raw_email = b"\n".join(popserver.retr(i + 1)[1]) msg = email.message_from_bytes(raw_email) while msg.is_multipart(): msg = msg.get_payload(0) content = msg.get_payload(decode=True) f = open("email_" + str(datetime.now()) + ".html", "wb") f.write(content) f.close() popserver.close() if __name__ == '__main__': # imap형식 수신 함수 check_mail_imap(user, password) # pop형식 수신 함수 check_mail_pop(user, password) # 메일을 보내는 함수 smtp send_mail(user, password, sendto, "안녕하세요 코코넛이 이메일을 보냅니다.")
여기까지 저는 수신한 이메일을 파일로 저장하는 소스를 만들었는데요.
여러분 입맛대로 수정해서 쓰시면 됩니다.
'Python' 카테고리의 다른 글
Python을 이용한 엑셀 읽기 및 쓰기(xlrd, xlwt) (0) | 2019.06.10 |
---|---|
zappa를 이용한 파이썬 서버리스 구현 (0) | 2019.02.14 |
python socket(tcp, udp) 사용하기 (0) | 2018.12.02 |
linux 파일 동기화 소스 auto_sync (0) | 2018.09.09 |
Python패키지 목록 requirements.txt 관리하기 (0) | 2018.08.08 |