[참고]

import tkinter as tk

# Create instance
win = tk.Tk()

# Add a title
win.title("Python GUI")

# Win Size Control
win.geometry('500x200')
win.resizable(width=1, height=0)

# Start GUI
win.mainloop()

[결과]

[정리]

# Win Size Control
(1) win.geometry('500x200')

  • 이 코드에서 '500x200'(문자열)은 창 사이즈를 말함. 원하는 사이즈를 입력해서 변경하면 됨
  • 여기서 x는 곱하기가 아니라 알파벳 소문자 엑스임

(2) win.resizable(width=1, height=0)

  • 이 코드에서 width(너비=가로), height(높이=세로)는 부울(True or False) 값을 넣어주면 됨
  • win.resizable(width=1, height=0) #가로만 조절가능하게 하고 싶을 때
  • win.resizable(width=0, height=1) #세로만 조절가능하게 하고 싶을 때
  • win.resizable(width=1, height=1) #가로,세로 둘 다 조절가능하게 하고 싶을 때
  • win.resizable(width=0, height=0) #가로,세로 둘 다 조절 불가능하게 하고 싶을 때

 

 

[참고]

“UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.” when plotting figure with pyplot on Pycharm

 

 

파이썬에서 matplotlib 라이브러리로 그래프를 그리려고 하는데, "UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.” 메시지가 뜨면 tkinter 모듈(GUI를 위한 라이브러리)이 설치가 잘 안 되어 있기 때문이에요.

 

1. 파이썬 3.5버전 (우분투16.04 버전에서 테스트)

$python3 (기본적으로 파이썬3.5 버전이 설치되어 있어요)

>>>import tkinter (오류 확인, 이상없이 다음 창이 나오면 설치 잘 된거에요)

 

(오류 시)

$sudo apt-get install python3-tk (이상하게 파이참 라이브러리 설치하는 목록에는 없네요. 터미널 창에서 설치하세요)

2. 파이썬 3.6버전 (우분투16.04 버전에서 테스트)

$python3.6 (설치한 버전이 3.7이면 3.7, 3.8이면 3.8 버전을 실행하세요)

>>>import tkinter (모듈이 불러오는지 테스트)

 

(오류시)

$sudo apt-get install python3.6-tk (버전이 3.7(python3.7-tk) 이거나 3.8(python3.8-tk)이면 버전을 바꿔주세요. 사실 해보진 않았어요)

(우분투에서는 기본적으로 파이썬2와 파이썬3.5 버전이 설치되어있는데, 파이썬3.6 버전이상으로 사용시에는 파이참(개발도구)으로 개발환경을 구축하면 편함. 하지만 위에 언급한 것처럼 python3-tk 모듈은 검색되지 않음 )

[참고]

 

[서론]

  • 인공지능 관련 공부를 시작하면 HW(하드웨어) 설정을 해야하는데, 무슨 엑티브X도 아니고 깔라는게 너무 많음. 
  • 인공지능 관련 책(딥러닝에 목마른 사람들을 위한 Pytorch / 장지수님 저 / 비제이퍼블릭)에서 설치하는 과정에 파이썬3.6이 좋다는데, 우분투16.04에는 파이썬3.5버전이 설치되어 있고 업그레이드 해도 3.5버전임
  • 파이참 실행 후 프로젝트 환경설정에 Base interpreter를 python3.5가 아닌 python3.6으로 변경하고 싶었음

[본론]

 

1. 우분투 16.04에 파이썬3.6 버전 설치

$sudo add-apt-repository ppa:deadsnakes/ppa (실행 후 ENTER)

$sudo apt update

$sudo apt install python3.6

$ls -l /usr/bin/python* (python3.6 설치 확인)

$python3 -V (버전확인)

2. 파이참 실행 - New Project - Project Interpreter:New Virtualenv environmen - Base interpreter - 파이썬 3.6 버전 선택

 

[결론]

  • 엑티브X는 설치하라는데로 설치하면 잘 동작하나 우분투에 인공지능 설치하는 것은 한 번 잘못 설치하면 포맷을 너무 많이 해야 함! 즉 불편함!
  • 다시 공부하러 가~즈~아!

[참고]

 

우분투.nvidia 드라이버 설치
 ubuntu18.4 + GTX-1660Ti 환경에서 Tensorflow-gpu 설치하기

TensorFlow GPU (2080ti)버전 우분투 18.04 설치 하기
우분투 리눅스 nouveau 끄고 설치하기
NVIDIA DRIVER 설치


[현상]
1. 엔비디아 정식 사이트에서 다운 받은 ./****.run 파일로 실행했을 때 무한 로그인에 빠지는 현상
2. 설치하고 나면 "the system is running in low-graphics mode" 메시지 뜨는 현상
3. msi노트북(GTX1660ti)과 우분투PC(RTX2080ti)로 테스트해 봄  

[해결]

[msi 노트북(GTX1660ti)]
(무한로그인 = 로그인이 안되고 계속 ID/PW를 입력하라는 상황) or ("the system is running in low-graphics mode" 메시지 뜨는 상황)

1. 설치한 엔비디아 삭제
ctrl+alt+F1 키 입력 (무한로그인 or 에러상황)
ID/PW 입력
$sudo apt-get purge nvidia-*

2. 저장소로 설치

$sudo add-apt-repository ppa:graphics-drivers/ppa
$sudo apt-get update

$sudo apt-get install nvidia-xxx ($sudo apt-get install nvidia-418 실행. 여기서 소수점 버전 없이 설치해야 함. 설치된 후 확인버전 418.56) 

$sudo reboot
(재부팅 후)

$nvidia-smi (실행이 되면 잘 설치 된 것임)

[산업용 우분투 PC(RTX2080ti)] : 일반 PC와 바이오스 리스트가 다름

1. BIOS 에서 내장 그래픽 카드 사용 중지 (참고 : https://comterman.tistory.com/505)
1-1. (산업용 PC의 경우) Delete키 입력(BIOS 진입) - Adbanced - PCIe/PCI/Pnp Configuration - VGA Priority - offboard
2. (포맷 진행 한 후) NVIDIA GPU에 모니터 연결하고 부팅 시작 (우분투가 윈도우 같지 않아서 포맷 진행 후 시작하는게 정신건강에 이로움)
3. "the system is running in low-graphics mode" 메시지 뜨는 상황
4. ctrl+alt+F1 키 입력
5. ID/PW 입력
6. 저장소로 설치
$sudo add-apt-repository ppa:graphics-drivers/ppa
$sudo apt-get update

$sudo ubuntu-drivers devices (2020.5.6 추가)

추천하는 버전을 설치

$sudo apt-get install nvidia-xxx ($sudo apt-get install nvidia-418 실행. msi노트북(RTX 1660ti)과 같은 버전. 설치된 후 확인버전 418.56)  (2020.5.6 추가 : 다른 산업용 PC(2080TI)에서 테스트 해보니 추천하는 430 버전을 설치해도 우분투16.04에서 이상없이 동작함)
$sudo reboot

(재부팅 후)

$nvidia-smi 

 

[결론]
1. 우분투(16.04)에 GPU 설치하는 환경이 제각기 달라서 이유를 알 수가 없음
2. 내장 그래픽과 GPU가 충돌 될 수 있다는 조언에 내장 그래픽을 바이오스에서 비활성화 

3. 너무 많이 포맷을 진행해서 클린설치를 검색 후 진행 했으나 새로운 방법을 시도할 때는 포맷하고 진행하길 추천드림 

'HW(HW가 없다면 SW도 없다!)' 카테고리의 다른 글

#Xsens #모션캡처 #자료조사  (0) 2023.06.29
연산자 설명 예제
+ 덧셈 2 + 4 == 6
뺄셈 2 - 4 == -2
* 곱셈 2 * 4 == 8
** 지수 2 ** 4 = 16
/ 나눗셈 2 / 4.0 == 0.5
//  나눗셈(소수점 버림) 2 / 4.0 == 0.0
% 문자열 삽입 또는 나머지 2 % 4 == 2
< 작다 4 < 4 == False
> 크다 4 > 4 == False
<= 작거나 같다 4 <= 4 == True
>=  크거나 같다 4 >= 4 == True
== 같다 4 == 5 == False
!= 다르다 4 != 5 == True
( ) 소괄호(parenthesis) len('hi') == 2
[ ] 리스트 대괄호(bracket) [1,3,4]
{ } 딕션어리 중괄호(brace) {'x' : 5, 'y' : 10}
@ 장식자 또는 데코레이터(decorator) @classmethod
, 쉼표(comma) range(0,10)
: 쌍점(colon) def X():
. 점(dot) self.x = 10
= 대입 x = 10
; 쌍반점(semi-colon) print("hi"); print("there")
+= 더하고 대입 x = 1; x += 2
-= 빼고 대입 x = 1; x -= 2
*= 곱하고 대입 x = 1; x *= 2
/= 나누고 대입 x = 1; x /= 2
//= 나누고 대입(소수점 버림) x = 1; x //= 2
%= 나머지 대입 x = 1; x %= 2
**= 지수 대입 x = 1; x **= 2

'#Learn More Python3 the Hard Way #제드 쇼 ' 카테고리의 다른 글

# 구식 문자열 포맷  (0) 2019.07.10
#argparse  (0) 2018.10.04

 

포맷 설명 예제
%d 십진수(부동소수점 제외) "%d" % 45 == '45'
%i %d와 같음 "%i" % 45 == '45'
%o 8진수 "%o" % 1000 == '1750'
%u 부호 없는 십진수 "%u" % -1000 == '-1000'
%x 소문자 16진수 "%x" % 1000 == '3e8'
%X 대문자 16진수 "%X" % 1000 == '3E8'
%e 소문자 'e'를 쓰는 지수 표기법 "%e" % 1000 == '1.000000e+03'
%E 대문자 'e'를 쓰는 지수 표기법 "%E" % 1000 == '1.000000E+03'
%f 부동소수점 실수 "%f" % 10.34 == '10.340000'
%F %f와 같음 "%F" % 10.34 == '10.340000'
%g %f든 %e든 짧은 쪽 사용 "%g" % 10.34 == '10.34'
%G %g와 같지만 대문자 "%G" % 10.34 == '10.34'
%c 문자 "%c" % 34 == ""
%r 디버그용 repr 포맷 "%r" % int == "<type 'int'>"
%s 문자열 포맷 "%s there" % 'hi' == 'hi there'
%% 퍼센트 기호 "%g%%" % 10.34 == '10.34%'

 

'#Learn More Python3 the Hard Way #제드 쇼 ' 카테고리의 다른 글

#python #연산자  (0) 2019.07.11
#argparse  (0) 2018.10.04

[참고]

라즈베리파이 유선랜 ip 고정 할당 설정 - Raspberry pi ethernet setup static ip address :

https://altongmon.tistory.com/637

 

[실행]

1. $ifconfig (현재의 네트워크 설정값 표시)

2. $netstat -nr (게이트웨이 주소 확인)

3. $sudo nano /etc/dhcpcd.conf (본인이 사용하는 에디터 vi 등으로 파일 열기)

4. (유선 설정일 경우) eth0의 static ip_address, static routers, static domain_name_servers 의 앞에 '#' 삭제

5. static ip_address는 설정하고자 하는 ip로 수정(ifconfig로 확인한 값)

6. static routers와 static domain_name_servers는 게이트웨이 주소(netstat -nr로 확인한 값)로 변경

7. 저장 후 재부팅

8. 터미널 - $ifconfig (변경 사항 확인하기)

[참고]

[설정]

1. 라즈베리파이 시작(왼쪽 상단) - 기본설정 - Raspberry Pi Configuration

2. Localisation - Set Locale... - character Set : EUC-KR 설정 - OK - 재부팅

3. (재부팅 마다 사용) 시작 - 시스템 도구 - Fcitx

4. 한/영 키 반영 됨

 

 

+ Recent posts