36 Posts
분류 전체보기
주피터 노트북 파일인 ipynb 파일을 리눅스 서버에서 py 파일로 바꿀 때에는 nbconvert 라는 모듈을 이용합니다. pip install nbconvert 먼저 위와 같이 모듈을 설치한 뒤, 아래의 코드를 입력하면 된다. 여기서 filename.ipynb는 변경하고자 하는 파일을 path까지 포함하여 입력하면 됩니다. 이때, 기본적으로 ipynb 파일은 root 사용자 권한이기 때문에 sudo 명령어를 필요로 합니다. 주피터 노트북 상에서 만들어진 파일들은 전부 기본적으로 소유가 root 사용자입니다. sudo jupyter nbconvert --to script filename.ipynb
CPU가 자꾸 죽는 문제가 이번주에 자주 생겨서, 지난 주에 고민했던 방법 중 하나인 “재부팅 시 파이썬 자동 실행”에 대해 적어보고자 합니다. 이 방식은 Linux Ubuntu 20.04 OS 환경에서 가능하며, 맥이나 윈도우에서 가능한지는 모르겠네요… 리눅스 서버에서 파이썬 파일을 돌릴 때 사용합니다. crontab -e 터미널에 이 코드를 입력하면 아래와 같은 페이지가 나옵니다. 크론탭 문서로, 해당 파일은 nano를 이용해 작성되었습니다. 사실 crontab은 재부팅이 아니라 일정 시간동안 특정 파일의 실행을 반복하는 데 사용하는 프로그램인데요(ex. 1시간마다 특정 프로그램 실행 등) @reboot 라는 명령어를 통해 재부팅 될 때 특정 프로그램을 실행시킬 수 있다고 하여 해당 기능을 사용하게 ..
해당 오류는 SSH를 연결하는 MobaXterm 자체의 문제로 보입니다. 한글 변수를 인식하지 못하는 문제로, ipynb 파일을 python 파일로 변환하는 과정에서 문제가 발생했습니다. 먼저 ipynb 파일을 변환하기 전, 아래의 코드를 파일 상단에 적어주었습니다. # -*- coding: utf-8 -*- 이후 아래의 코드를 입력하자 해결되었습니다. jupyter nbconvert --to script FILE_NAME.ipynb sudo rm -rf /tmp/-home-ubuntu-FILE_NAME-.lock
코드가 파일을 수정하는 코드를 포함하고 있을때, 해당 파일에 접근할 권한을 갖지 못했기 때문에 발생한 오류입니다. 해당 오류는 Linux의 Ubuntu 서버에서 발생한 오류로, 권한을 주어 아래처럼 실행하면 해결됩니다. sudo python3 run_py.py 혹은 Bash 상에서 해당 파일을 sudo 명령어 없이 사용하고 싶다면 현재 그 파일의 권한이 누구에게 가 있는지(root 사용자, 그룹 사용자, 그 외 등) 확인할 필요가 있습니다. 이 경우 먼저 해당 파일의 권환을 확인해볼 필요가 있습니다. 리눅스에서는 이러한 권환을 확인할 수 있는 명령어가 있습니다. ll (해당 파일의 위치 경로 입력) 해당 명령어를 입력할 경우, 아래 사진과 유사한 것들이 Bash에 뜨게 됩니다. 읽는 법은 차례대로 사용자..
함수 바깥에 전역 변수를 선언하고 함수 내부에서 그 전역 변수의 값을 수정할 때, global 선언을 하지 않아서 발생하는 오류입니다. 개인적으로 변수의 값을 읽어들이는 때에는 문제가 없었던 것 같습니다. 함수 바깥에 있는 전역 변수를 사용하기 전에는 꼭 함수 내부에서 global 선언 후 사용하도록 합시다. 오류의 정확한 내용은 “이 함수 내부에서 선언해서 생성한 적이 없는데 어떻게 사용하는 거임?” 하고 묻는 겁니다. 코드를 아래처럼 짜면 오류가 발생합니다. x = 10 def func(): # 아래 주석처럼 전역변수 선언을 해주지 않으면 오류 발생 # global x x += 1 print(x) func()
string을 string과 더하지 않고 int나 다른 변수와 더했을 때 발생하는 오류처럼 보입니다. + 연산자를 사용할 때에는 더해주는 변수의 자료형을 확인해주도록 합시다.