반응형

1.개요

class란 객체를 생성하는 틀(template)로 data member라고도 불리는 속성과 동작을 수행하는 method로 구성된다.

클래스로부터 객체를 생성하는 것을 인스턴스화라고 하며, 생성된 인스턴스가 가지고 있는 속성과 메서드는 . 표기법을 사용해서 접근할 수 있다.

class A:
    def methodA(self):
        print("method...")
        
a=A() #인스턴스화
a.methodA() # 클래스 메서드 호출

 

2.상속

상속은 클래스가 가지는 모든 속성과 메서드를 다른 클래스에 물려주는 기법이다. 이때 상속해주는 클래스를 부모 클래스 또는 슈퍼 클래스라고 하고, 상속 받는 클래스를 자식 클래스 또는 서브 클래스라고 한다.

 

class 자식 클래스(부모 클래스1, 부모 클래스2, ...):
    pass

 

class A:
    def methodA(self):
        print("Calling A's methodA")
    def method(self):
        print("Calling A's method")

class B:
    def methodB(self):
        print("Calling B's methodB")
class C(A,B):
    def methodC(self):
        print("Calling C's methodC")
    def method(self):
        print("Calling C's overridden method")
        super().method()
        super().methodB()
c=C()
c.methodA()
c.methodB()
c.methodC()
c.method()

 

실행결과

Calling A's methodA
Calling B's methodB
Calling C's methodC
Calling C's overridden method
Calling A's method
Calling B's methodB

3. class variable 와 instance variable

클래스 내부에 존재하면서 메서드 밖에 정의된 변수를 클래스 변수라고 하며, 클래스의 모든 인스턴스는 클래스 변수를 공유한다. 반면에 인스턴스 변수는 메서드 내부에서 정의되며 변수명 앞에 self가 붙는데 해당 인스턴스에서만 사용할 수 있다.

 

4. class method

class내부에 정의된 함수이다. class method의 첫번째 인수는 self로 정의해야 한다. 이 특별한 self 변수는 객체 자신을 의미한다.

 

class NasdaqStock:
    "Class for NASDAQ stocks""" #doc string
    count = 0 # class variable
    def __init__(self,symbol,price):
        """Constructor for NasdaqStock""" # doc string
        self.symbol = symbol #instance variable
        self.price = price #instance variable
        NasDaqStock.count +=1
        print('Calling __init__({},{:.2f}) > count: {}'.format(self.symbol, self.price, NasdaqStock.count))

    def __del__(self):
        "Destructor for NasdaqStock""" # doc string
        print('Calling __del__({})'.format(self))

 

class A:
    def __init__(self):
        self.result = 10
    
    def methodA(self):
        result =20
        print("Calling A's methodA")
        print("result{}".format(result))

    def method(self):
        print("Calling A's method")
        self.methodA()

class B:
    def __init__(self):
        self.result = 20

    def methodB(self):
        print("Calling B's methodB")

class C(A, B):
    def __init__(self):
        self.result = 30

    def methodC(self):
        print("Calling C's methodC")

    def method(self):
        print("Calling C's overridden method")
        super().method()
        super().methodB()

c = C()
c.methodA()
c.methodB()
c.method()
print(c.result)

수행 결과

Calling A's methodA
result20
Calling B's methodB
Calling C's overridden method
Calling A's method
Calling A's methodA
result20
Calling B's methodB
30

self는 자기 자신을 의미하며 

class 공용 변수를 사용할 경우 self.result와 같이 앞에 self를 붙여줘야 한다.

 

 

반응형

'python > python basic' 카테고리의 다른 글

[python]PyMYSQL  (0) 2022.08.07
[python][graph]sine wave  (0) 2018.12.02
python basic  (0) 2018.11.12
python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
반응형

0.개요

PyMYSQL은 DB(MySQL,mariaDB)같은 DB 프로그램을 사용할 수 있는 python library이다.

 

1.기본 정보

PyMYSQL에 대한 정보는 아래 홈페이지에 접속해서 보면 자세한 내용을 확인할 수 있다. 사용하기 위한 기본 요구사항과 기본 예제,문서, 소스코드를 확인할 수 있다.

PyMYSQL Homepage : https://github.com/PyMySQL/PyMySQL

기본 요구사항은 아래와 같다. 내 PC에 설치된 사항은 CPython 3.10.4이며 mariabd 10.6.7이 설치되어 있다.

Requirements

  • Python -- one of the following:
  • MySQL Server -- one of the following:
#python3 -V
Python 3.10.4

#mariadb -V
mariadb  Ver 15.1 Distrib 10.6.7-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

 

*maria db에 진입해서 version 정보를 읽는 방법과 실제 version정보를 확인할 수 있다.

이와 동일하게 python에서도 할 수 있는 걸 먼저 python code로 구현해 본다.

#mariadb -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 42
Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select version();
+-------------------------+
| version()               |
+-------------------------+
| 10.6.7-MariaDB-2ubuntu1 |
+-------------------------+
1 row in set (0.000 sec)

 

- mariadb version을 읽어오는 python code

import pymysql

connection = pymysql.connect(host='localhost', port=3306, db='db_name', 
    user='root', passwd='mypasswd', autocommit=True)  

cursor = connection.cursor()
cursor.execute("SELECT VERSION();")
result = cursor.fetchone()

print ("MariaDB version : {}".format(result))

connection.close()

위 코드 수행해서 읽어온 maria db version 정보이며 실제 maria db를 수행해서 읽어온 것과 동일한 것을 확인 할 수있다.

MariaDB version : ('10.6.7-MariaDB-2ubuntu1',)

 

 

잘되다가 아래 에러가 나면서 문제가 되는데 왜 발생하는 지 잘 모르겠다.

import pandas as pd
import yfinance as yf
import pandas_datareader as web
import pymysql
from sqlalchemy import create_engine

tickers = [
    'SPY',  # 미국 주식
    'IEV',  # 유럽 주식 
    'EWJ',  # 일본 주식
    'EEM',  # 이머징 주식
    'TLT',  # 미국 장기채
    'IEF',  # 미국 중기채
    'IYR',  # 미국 리츠
    'RWX',  # 글로벌 리츠
    'GLD',  # 금
    'DBC'  # 상품
]

all_data = {}
for ticker in tickers:
    #all_data[ticker] = web.DataReader(ticker, 'yahoo', start='1993-01-22')
    all_data[ticker] = yf.download(ticker, start='1993-01-22')

prices = pd.DataFrame(
    {tic: data['Adj Close']
     for tic, data in all_data.items()})

engine = create_engine('mysql+pymysql://root:@127.0.0.1:3306/stock_db')
prices.to_sql(name='sample_etf', con=engine, index=True, if_exists='replace')
engine.dispose()

반응형

'python > python basic' 카테고리의 다른 글

[python]class  (0) 2022.08.11
[python][graph]sine wave  (0) 2018.12.02
python basic  (0) 2018.11.12
python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
반응형

  1 import matplotlib.pyplot as plt
  2 import numpy as np
  3
  4
  5 Fs = 8000
  6 f = 3
  7 sample = 8000
  8 x = np.arange(sample)
  9 y = np.sin(2 * np.pi * f * x / Fs)
 10 plt.plot(x, y)
 11 plt.xlabel('sample(n)')
 12 plt.ylabel('voltage(V)')
 13 plt.show()

 

 

 

 

 

반응형

'python > python basic' 카테고리의 다른 글

[python]class  (0) 2022.08.11
[python]PyMYSQL  (0) 2022.08.07
python basic  (0) 2018.11.12
python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
반응형

index
my_name[0]

index slicing
my_name[0:5]

docstring
"""this is docstring"""
#19 end escape code
print('This is test') #뒤에 /n이 붙어 있다
print('This is test', end= '')
print('This is test', end='/')

print('This is/n test') #enter
This is
test
print('This is\t test') #Tab
This is  test

print('This', end='\t') print('is')

#20 list
[val1, val2,...]
my_list=[1,2,3]

#20 list add
my_list=[1,2,3]

my_list.append('7')

#my_list
[1,2,3,'7']

#24 tuple
list(mutable)와 동일하게 값을 저장하지만 값을 변경할 수 없는 게 다름

#my_tuple=()

#type(my_tuple)
#class 'tuple'

#my_tuple=(1,2,3)
#my_tubple=1,2,3

#25 packing unpacking
#my_tuple=(1,2,3)
#my_tubple=1,2,3

위 tuple 자체가 packing이다

unpacking은 아래와 같이 packing된 값을 각각의 변수에 대입하는 과정이다.
#num1,num2,num3=my_tuple
#num1
#1
#num2
#2
#num3
#3


만약 num1=1, num2=2의 값을 서로 변경할 경우는
#num1,num2=num2,num1
#num1=2
#num2=1
이렇게 변경된 것을 확인할 수 있다.

#26 for
#
for 변수 in 컨테이너
    실행할 명령어1
    실행할 명령어2
    ...
실행할 명령어  앞에는 space 4개
 또는 tab을 꼭 사용해야 하며 섞어서 사용하면 안되고 1가지로만 사용해야 한다.

#for i in [1,2,3]
    print(i)
#1
#2
#3

#27 range
#range(0,3) # 0,1,2

#
for i in range(1,3)
    print(i)

#28 for x2
#for j in range(2,10)
#    
for i in range(1,10)
#           print('{} * {} = {}' .format{j,i,j*k))

for 2번째 줄은 스페이스 4칸 그 다음줄은 스페이스 8칸을 해야함.

#29 comprehension
나중에 공부하자


#30 할당 연산자(operator)
= += -= *= /=

#31 산술 연산자(operator)
 +  -  *  /
#2+2
#14/3

**(제곱) //(몫만 표시) %
(나머지)
#3**2
#9
#
#32 %
 +  -  *  /
#2+2
#14/3


#33 문자열 연산자
 +  *
#'
hong'+'gil'+'dong'
#honggildong
#'good'*3
#goodgoodgood

#34 비교 연산자(comparison operator)
 ==(같냐?)  != (다르냐?) >(크냐) < (작냐?) >=(크거나 같냐?) <=(작거나 같냐?)


#35 논리 연산자(logical operator)
and or not
#T
rue and True
#True
#True and False
#False
#True or True
#True

#True or False
#True

#not True
#False

#36 맴버쉽 연산자(membership operator)
#member_list=['cat','dog','lion','elephant','lizard']
#'cat' in member_list

#True
#'dong' in member_list

#Flase

#37 if
#if condition:
#    실행할 명령1
#    실행할 
명령2
#        .
#        .
#        .

#38 else, elif
#if condition:
#    실행할 명령1
#    실행할 
명령2
#elif condition:
#    실행할 명령1
#    실행  
명령2

실행할 조건 앞에는 띄어쓰기 4칸을 해야함(권장사항)


#39 while
#while condition:
#    실행할 명령1
#    실행할 
명령2
#elif condition:
#    실행할 명령1
#    실행  
명령2


#40 continue break
continue를 만나면 조건문으로 다시 감.
break 만나면 무한 반복문을 빠져나감.



반응형

'python > python basic' 카테고리의 다른 글

[python]PyMYSQL  (0) 2022.08.07
[python][graph]sine wave  (0) 2018.12.02
python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
[python][cv2]ImportError:No module named cv2  (0) 2018.11.12
반응형

1.python 특징과 설치

객체 지향언어
대화기능의 인터프리터 언어
동적인 데이터 타입 결정 지원
플랫폼에 독립적
개발 기간 단축에 초점을 둔 언어
간단하고 쉬운 문법
고 수준의 내장 객체 데이터형 제공
메모리 자동 관리(RC)
무료

시스템 관리(스크립팅)-상당히 많은 분야에 사용됨
GUI(pyhQT)
인터넷 프로그래밍
DB 프로그래밍
각종 텍스트 프로세싱
분산처리
수치연산, 그래픽스

2. 데이타 타입
-명명규칙
[_a-zA-Z0-9]*,한글
변수명의예:a,a1,my_name,your_job
잘못된 변수명 : 1abc,@abc,%x
# 주석

-데이터타입
정수
a=10
실수
a=3.14
복소수
a=3+j4
print(a)
print(type(a))
print(a.img)
print(a.real)
print(a.conjugate())
#객체: 속성+메소드
객체.속성
객체.메소드

-문자열 데이터타입
문자열
str
순서있는 데이터 타입
immutable 데이터 타입

#복합(시퀀스) 여러개의 데이터
#순서있는 데이터 타입(인덱스, 슬라이싱)
#[시작:끝:증가치]
#+,*,%
a=10
b=3.14
s='abc'
s1='a=%d b=%f s=%s'%(a, b,s)

s1='abcdefghi'
print(s1[0:4:1])
print(s1[1:4])
print(s1[:5:2])
print(s1[1:])
print(s1[-1:-4:-1])

s = b'abc'
print(s)
print(type(s))
b'abc'
class 'bytes'

s1 = 'abc'
s1 = s1.encode('utf-8')
print(s1)
print(type(s1))
'abc'
class 'bytes'

5강. 시퀀스 데이타타입
순서있는 데이터 타입(인덱스,슬라이싱)
리스트,튜플,문자열,바이트

순서없는 데이터 타입(인덱스,슬라이싱 X)
세트,딕셔너리


변경가능한(mutable) 데이터타입
리스트,딕셔너리,세트

변경불가능한(immutable) 데이터타입
튜플,문자열,바이트


튜플 타입

-오브젝트의 리스트를 저장
-() 또는 tuple() python 내장함수를 이용
-순서있는 데이터 타입
-변경불가능한(immutable) 데이터 타입
-함수의 인자, 리턴에 주로 사용

myT=(10,20,30,40)
print(myT)


packing, unpacking
a,b,c = ( 100,200,300 )# unpacking
a = ( 100,200,300 )# packing


Dictionary Type

-오브젝트를 키와 값으로 저장
-{키:값} 또는 dict() python 내장함수를 이용
-순서없는 데이터 타입
-변경가능한(mutable) data type

myD={10:'aa',20:'bb',30:'cc'}
print(myD.pop(20)) #20요소 삭제됨.
print(myD.keys()) #key값만 출력
print(myD.values()) #value 값만 출력
print(myD.items()) #key값만 출력

Set  Type
-중복없는 데이터를 저장
-{} 또는 set() python 내장함수를 이용
-순서없는 데이터 타입
-변경가능한 데이터 타입
-집합관련 연산자 사용
mySet={10,20,30}
print(mySet[0]) # 순서없는 데이타 타입이므로 에러발생

week#1_exercise

1. 아래의 문자열에 대해 다음을 수행하시오.
s='abcd efgh ijklm'

1)공백을 기준으로 자르시요(리스트의 문자열로).
2)'efgh'문자열을 추출하시요.
   print(s[5:9:1])
3)'ac fhikm'문자열을 추출하시요.
   print(s[::2])
4)'mlkji'문자열을 출출하시요.
    print(s[:8:-1])

2.문자열 객체 변수명이 s인 임의의 하나의 문자열이 주어진 경우 공백 기준으로 자른 뒤 맨 마지막 문자열을 추출하도록 프로그램을 작성하시오.

(예: s='abc def ghi'인 경우 ghi 문자열이 출력되어야 한다.)

Quiz
7.문자열을 bytes type으로 변환하고자 할 때 사용하는 것 
   encode
8.리스트에 요소를 추가하는 리스트 객체 맴버함수명이 아닌것은?
append, put, insert, extend
myList=[1,2,3,4]
my_list.append(50)
myList.insert(1,200)
myList.extend([1,2,3])
myList=myList + [1,2,3]
myList =myList*3
myList.remove(4) #해당 인텍스의 인자를 삭제함.
myList.pop() # 마지막 인자를 삭제
myList.pop(1) #해당 인덱스의 객체를 삭제
del( myList[0] ) #해당 인덱스의 인자를 삭제
n=myList.index(20) #해당값이 있는 인덱스를 리턴해줌
n=len(myList) #요소의 갯수를 리턴



9.아래에 해당하는 데이터 타입에 맞는 것은?
 - 순서있는 데이터 타입
 -변경 불가능한 데이터 타입
 -함수의 인자, 리턴에 주로 사용
 - 함수의 인자, 리턴에 주로 사용
 - 패킹과 언패킹 지원

10.아래의 출력 결과로 맞는 것은?

myD={10:'aa',20:'bb',30:'cc'}
myD[40]='dd'
print(myD)
{40: 'dd', 10: 'aa', 20: 'bb', 30: 'cc'}



함수와 모듈

def 함수명( 인자):

    함수구현부

    return 결과값

함수의 특징

- 두개이상의 값 리턴 가능
- 명시적 인자 호출
- 디폴트인자
- 가변인자
- 정의되지않은 인자

#두개이상의 값 리턴 가능

함수기본

<iframe width="800" height="300" src="http://pythontutor.com/iframe-embed.html#code=def%20hello%28%29%3A%0A%20%20%20%20print%28'hello'%29%0A%20%20%20%20print%28'fn'%29%0A%0Ahello%28%29%0Ahello%28%29&codeDivHeight=400&codeDivWidth=350&cumulative=false&curInstr=0&heapPrimitives=false&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false"frameborder="0"></iframe>함수기본(리턴과 인자)


================================
def hello():
    print('hello')
    print('fn')

def hap(a,b):
    return a+b

rst=hap(10,20)

def fn1():
    return 10,20,30

rst=fn1()
#hello()
#hello()

=====================================

함수의 특징
-두개 이상의 값 리턴 가능
-명시적 인자 호출
-디폴트인자
-가변인자
-정의되지않은 인자


13강. 파일, 디렉터리 다루기

1.파일객체 = open(파일명, 모드,인코딩)
파일객체를 리턴
2. 파일객체 멤버함수
write
readline
readlines
seek
tell
close
파일열기모드
r
w
a


14강. 시간과 날짜
date():날짜 정보만 가지는 datetime.date 클래스 객체 반환
time():시간 정보만 가지는 datetime.date 클래스 객체 반환
now():날짜 정보만 가지는 datetime.date 클래스 객체 반환

python datetime strtime


시스템과 랜덤함수

sys 모듈 import sys 

- argv: 명령행 인자
- getrefcount(): 참조 개수 반환
- path: 파이썬 패스
- stdin, stdout, stderr: 표준 입력, 출력, 에러 객체

- exit: 스크립트 종료

<sysRandomTest1>

import sys print( sys.argv ) my = sys.argv print( my[1]) 

<sysRandomTest2>

import sys myList = [10,20,30] print( sys.getrefcount(myList)-1 ) 

<sysRandomTest3>

import sys myList = [10,20,30] myList1 = myList print( sys.getrefcount(myList)-1 ) 

<sysRandomTest4>

import sys myList = [10,20,30] myList1 = myList print( sys.getrefcount(myList)-1 ) sys.stdout.write('aa\n') sys.stdout.write('bb'
 

random 모듈 import random

- randrange(시작,끝): 범위의 숫자 반환
- shuffle(시퀀스): 시퀀스를 임의로 배치
- choice(시퀀스 ): 임으로 선택
- Sample(시퀀스,개수): 임으로 갯수만큼선택

<sysRandomTest5>

import sys import random for n in range(5): print( random.randint(1,5) ) 

<sysRandomTest6>

import sys import random myList = [ 1,2,3,4,5] print( myList ) random.shuffle( myList ) print( myList ) 

<sysRandomTest7>

import sys import random myList = [ 1,2,3,4,5] print( myList ) print( random.sample( myList,2 )) 

<sysRandomTest8>

import sys import random #롯또 1~16 임으로 6개선택 rotto = [ n for n in range(1,17)] pr


반응형

'python > python basic' 카테고리의 다른 글

[python][graph]sine wave  (0) 2018.12.02
python basic  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
[python][cv2]ImportError:No module named cv2  (0) 2018.11.12
[python]SyntaxError:Non-ASCII charater '\xec'  (0) 2018.11.12
반응형

import serial.tools.list_ports as sp
list = sp.comports()
connected = []


for i in list:
connected.append(i.device)
print("Connected COM ports: " + str(connected))


반응형

'python > python basic' 카테고리의 다른 글

python basic  (0) 2018.11.12
python programming  (0) 2018.11.12
[python][cv2]ImportError:No module named cv2  (0) 2018.11.12
[python]SyntaxError:Non-ASCII charater '\xec'  (0) 2018.11.12
[python][source]menu ,input,output data  (0) 2018.11.12
반응형

1.pip install
sudo apt install python-pip
sudo pip install --upgrade pip

아래 명령어로opencv-python 설치해주고 나서 에러 나타나지 않고 정상동작함.(참고, window7, 64bit, python2.7.15)
python -m pip install opencv-python

upgrade 수행되는 과정


참고 자료
문제:  
import cv2 안됨 (Python 3.5, 윈도우 10)

해결: 
1. 관련 파일 다운로드 
  
   Go to  Unofficial Windows Binaries for Python Extension Packages
   (http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv)


   Download opencv_python‑3.2.0‑cp35‑cp35m‑win_amd64.whl


2. cmd 에서 파일 설치 


   다운로드 된 폴더로 이동 
   i.e. 
   cd C:\Users\user\Downloads

   설치    
   python -m pip install opencv_python-3.2.0-cp35-cp35m-win_amd64.whl






http://blog.naver.com/julypraise/221005831828[출처] import cv2 안됨 (Python 3.5, 윈도우 10)|작성자 영재


반응형

'python > python basic' 카테고리의 다른 글

python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
[python]SyntaxError:Non-ASCII charater '\xec'  (0) 2018.11.12
[python][source]menu ,input,output data  (0) 2018.11.12
[python]PyQt install  (0) 2018.11.10
반응형

맨 윗줄에 아래 추가해 줌.
# -*- coding: utf-8 -*-

반응형

'python > python basic' 카테고리의 다른 글

python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
[python][cv2]ImportError:No module named cv2  (0) 2018.11.12
[python][source]menu ,input,output data  (0) 2018.11.12
[python]PyQt install  (0) 2018.11.10
반응형

import sys

list = ['ss', 1,1999, 'aa', 2, 2000, 'cd',4,2110]
def inputData():
    inputdata= 'y' 
    while(inputdata== 'y'):
        gear_name = input('gear name : ')
        list.append( gear_name )
        gear_number = input("gear number: ")
        list.append( gear_number )
        product_date = input("production date(ex:1990-01-01): ")
        list.append(  product_date )
        inputdata = input(" Are you input data(y/n)? ")
    return 0


def outputData():
    print "-----------------------------------------"
    print " gear name    number    production date  "
    print "-----------------------------------------"
    
    start_pos=0
    end_pos=len(list)
    div = 3
    for i in range(start_pos,end_pos+div,div):
        out=list[start_pos:start_pos+div]

        if out!=[]:
            print(out)
            start_pos = start_pos + div

    
def searchData():
    w_data=input("Input data you want to search: ")
    div = 3
    start_pos = 0

    start_pos=list.index(w_data)
    print start_pos
    out=list[start_pos:start_pos+div]
    
    print "-----------------------------------------"
    print " gear name    number    production date  "
    print "-----------------------------------------"
    if out!=[]:
        print(out)
    return 0

def print_menu():
    print "1. Input"
    print "2. Output"
    print "3. Searche"
    print "4. Exit"

loop=True
while loop:
    print_menu()
    choice = input("Enter your choice[1-4] : ")

    if choice == 1:
        print "1.Input Menu has been selected"
        inputData()
    elif choice == 2:
        print "2.Output Menu has been selected"
        outputData() 
    elif choice == 3:
        print "3.Searche Menu has been selected"
        searchData()
    elif choice == 4:
        print "4.Exit Menu has been selected"
    else:
        print "Wrong number has been selected!!"
        loop=False

반응형

'python > python basic' 카테고리의 다른 글

python programming  (0) 2018.11.12
[python][serial]serial port list  (0) 2018.11.12
[python][cv2]ImportError:No module named cv2  (0) 2018.11.12
[python]SyntaxError:Non-ASCII charater '\xec'  (0) 2018.11.12
[python]PyQt install  (0) 2018.11.10
반응형

pyqt는 GUI를 제공하는 프로그램을 만들수 있는 tool 이다.

install
#python -m pip install --upgrade pip
#pip install pyqt5
#pip install pyqt5-tools


#sudo apt-get install python-qt4



reference

https://iqbalnaved.wordpress.com/2014/05/31/installing-pyqt4-for-python-2-7-6-in-virtual-environement-in-ubuntu-14-04/

반응형

+ Recent posts