# yum -y install python3
실습> 파이썬 가상환경 사용하기
파이썬 가상환경 메뉴얼
https://docs.python.org/ko/3/library/venv.html#module-venv
1. 가상환경 생성
참고로 python은 보안상 root 보다는 일반유저로 실행하는게 좋다.
그러나 여기서는 테스트이므로 root로 사용한다.
형식 : python -m venv 프로젝트디렉터리
[root@python python]# python3 -m venv myenv
[root@python python]# ls -ld myenv
drwxr-xr-x. 5 root root 74 11월 26 15:46 myenv
2. 가상환경 실행
생성된 가상환경을 실행한다.
생성된 프로젝트 디렉터리에 이동해서 bin/activate 를 source 명령어를 이용해서 실행한다.
[root@python python]# cd myenv
[root@python myenv]# source bin/activate
(myenv) [root@python myenv]#
(myenv) [root@python myenv]# python
| Python 3.6.8 (default, Nov 16 2020, 16:55:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> quit() |
3. pip 업그레이드
아래 2가지 중에서 하나를 사용하면 pip 가 업그레이드 된다.
(myenv) [root@python myenv]# pip install --upgrade pip
(myenv) [root@python myenv]# python -m pip install --upgrade pip
(myenv) [root@python myenv]# python -m pip list
| Package Version ---------- ------- pip 21.3.1 setuptools 39.2.0 |
4. 패키지 설치
pymysql 패키지 : MySQL, MariaDB 패키지
아래 2가지 중에서 하나를 사용하면 패키지를 설치할 수 있다.
(myenv) [root@python myenv]# pip install pymysql
(myenv) [root@python myenv]# python -m pip install pymysql
아래 2가지 중에서 하나를 사용한다.
(myenv) [root@python myenv]# pip list
(myenv) [root@python myenv]# python -m pip list
| Package Version ---------- ------- pip 21.3.1 PyMySQL 1.0.2 setuptools 39.2.0 |
5. 가상환경 해제하기
deactivate 명령어를 이용해서 가상환경을 해제한다.
deactivate 명령어는 함수로 정의되어 있고 set 으로 확인할 수 있다.
(myenv) [root@python myenv]# deactivate
[root@python myenv]#
실습> python 을 일반유저에서 사용하기
1. 사용자 생성
python 을 일반유저에서 사용할 수 있도록 설정한다.
[root@python python]# useradd pythonuser
[root@python python]# passwd pythonuser
# su - pythonuser
[pythonuser@python ~]$
2. 가상환경 생성
가상환경 project1을 생성한다.
[pythonuser@python ~]$ python3 -m venv project1
3. 가상환경 실행
[pythonuser@python ~]$ cd project1
[pythonuser@python project1]$ source bin/activate
(project1) [pythonuser@python project1]$
4. pip 업그레이드
pip를 업그레이드 한다.
(project1) [pythonuser@python project1]$ python -m pip install --upgrade pip
(project1) [pythonuser@python project1]$ python -m pip list
| Package Version ---------- ------- pip 21.3.1 setuptools 39.2.0 |
5. 패키지 설치
pymysql 패키지 : MySQL, MariaDB 패키지
pymysql 패키지를 설치한다.
(project1) [pythonuser@python project1]$ python -m pip install pymysql
(project1) [pythonuser@python project1]$ python -m pip list
| Package Version ---------- ------- pip 21.3.1 PyMySQL 1.0.2 setuptools 39.2.0 |
실습> 워크 스페이스 생성하기
워크 스페이스 : 작업 디렉터리로 파이썬 코드가 저장된 디렉터리
워크 스페이스 : /home/pythonuser/programming/python
(project1) [pythonuser@python project1]$ cd
(project1) [pythonuser@python ~]$ ls
| project1 public_html |
(project1) [pythonuser@python ~]$ mkdir programming/python -p
(project1) [pythonuser@python ~]$ cd programming/python
(project1) [pythonuser@python python]$
실습> 단축키 설정하기
vim-enhanced 패키지가 설치되어야 가능하다.
[roo@python ~]# yum -y install vim
[roo@python ~]# vi /etc/vimrc
| : :(생략) set nu " 번호 set bg=dark " 배경색 set ts=4 " 탭크기 set expandtab " 탭 -> 공백 set ai " 자동 들여쓰기 set ci " C 형태의 들여쓰기 set fileencodings='utf8,euckr' set cursorline " 커서 라인 출력 |
(project1) [pythonuser@python python]$ cd
(project1) [pythonuser@python ~]$ echo "alias vi='vim'" >> .bashrc
(project1) [pythonuser@python ~]$ source .bashrc
(project1) [pythonuser@python ~]$ cd programming/python/
(project1) [pythonuser@python python]$ vi hello.py
(project1) [pythonuser@python python]$ vi ~/.vimrc
| " ##### 단축키 설정 ##### " : 엔터키 " % : 현재 문서 " %< : 현재 문서에서 확장자를 버린 이름 ex) hello.c -> hello " ! : 명령어 실행 " F1 : 도움말(이미 정의되어 있다) " F2 : 쉘스크립트 실행 " F3 : 파이썬 실행 " F4 : C " F5 : C++ " F6 : Java " " 쉘스크립트 실행 " chmod 755 파일명; ./파일명 " " 파이썬 실행 " python3 파일명 " " C언어 컴파일 " 소스코드 -> 실행파일(바이너리) " gcc 형식 : gcc -o 실행파일 소스파일; ./실행파일 " " C++ 컴파일 " 소스코드 -> 실행파일(바이너리) " g++ 형식 : g++ -o 실행파일 소스파일; ./실행파일 " " Java 컴파일 " 소스코드 -> 클래스파일(바이너리) " javac 소스파일; java 클래스파일 " " 단축키 지정 형식 " map <function키> :명령어</function키> map :w:!chmod 755 %:!./% map :w:!clear; python3 % map :w:!gcc -o %< %:!./%< map :w:!g++ -o %< %:!./%< map :w:!javac %:!java %< |
(project1) [pythonuser@python python]$ vi hello.py
print('Hello python!')
print('Hello python!')
print('Hello python!')
print('Hello python!')
F3 번을 누르면 파이썬 코드가 실행된다.
Hello python!
Hello python!
Hello python!
Hello python!
-- ex07.py --
| """ 파일명 : ex07.py 프로그램 설명 : 자료형의 종류 (데이터 타입) 작성자 : 리눅스마스터넷 작성일 : 2021. 11. 26. (금) 17:15:42 KST """ # 자료형은 파이썬에서 지원하는 자료의 종류를 말한다. # 자료형의 종류 # 정수(int), 실수(float), 문자열(str), 리스트(list), 튜플(tuple), 셋(set), 딕셔너리(dict), 불리언(bool) # # 변수에 값을 저장하는 방법 # 형식 : 변수명 = 값 a = 10 # 정수 (int) b = 3.14 # 실수 (float) c = 'Hello' # 문자열 (str) d = [1, 2, 3] # 리스트 (list) e = (1, 2, 3) # 튜플 (tuple) f = {1, 2, 3} # 셋 (set) g = {'a':1, 'b':2, 'c':3} # 딕셔너리 (dict) h = True # 불리언 (bool) # 변수에 값을 출력하는 방법 # 형식 : print(값), print(변수명) # 자료형을 확인하기 위한 방법 # 형식 : type(값), type(변수명) print(a, type(a)) # 10 <class 'int'></class 'int'> print(b, type(b)) # 3.14 <class 'float'></class 'float'> print(c, type(c)) # Hello <class 'str'></class 'str'> print(d, type(d)) # [1, 2, 3] <class 'list'></class 'list'> print(e, type(e)) # (1, 2, 3) <class 'tuple'></class 'tuple'> print(f, type(f)) # {1, 2, 3} <class 'set'></class 'set'> print(g, type(g)) # {'a': 1, 'b': 2, 'c': 3} <class 'dict'></class 'dict'> print(h, type(h)) # True <class 'bool'></class 'bool'> |
-- ex08.py --
| """ 파일명 : ex08.py 프로그램 설명 : 정수 자료형 작성자 : 리눅스마스터넷 작성일 : 2021. 11. 26. (금) 17:47:30 KST """ # 자료형의 종류 # 정수(int) # 정수를 변수에 저장하는 형식 # 형식 : 변수명 = 정수 i = 10 # i 변수에 정수 10을 저장한다. j = 20 # j 변수에 정수 20을 저장한다. print(i, j) # i 변수와 j 변수를 출력한다. # 변수 i, j를 4가지 출력방식으로 출력한다. # 출력은 10진수 정수값으로 출력한다. print(i, j) # 변수 출력 print('%d %d' %(i, j)) # % 출력 print('{} {}'.format(i, j)) # format() 메소드(함수) 출력 print(f'{i} {j}') # f-string 출력 # 16진수 형식으로 출력한다. # 0 ~ 9 a b c d e f a = 0x7 # 7 b = 0xf # 15 c = 0x10 # 16 print(a, b, c) # 7 15 16 # 8진수 형식으로 출력한다. # 0 ~ 7 d = 0o3 # 3 e = 0o10 # 8 print(d, e) # 3 8 |
-- ex09.py --
| """ 파일명 : ex09.py 프로그램 설명 : 정수 연산 작성자 : 리눅스마스터넷 작성일 : 2021. 11. 26. (금) 18:00:21 KST """ # 정수를 연산하는 형식 # 형식1 : 값 연산자 값 # 형식2 : 변수 연산자 값 # 형식3 : 값 연산자 변수 # 형식4 : 변수 연산자 변수 # 연산자 # +, -, *, /, //, %, ** i = 10 # i 변수에 10을 저장한다. j = 20 # j 변수에 20을 저장한다. # 정수 연산 후 화면에 출력하는 방법 # 형식 : print(형식1) ~ print(형식4) print(i + j) # 더하기 연산 결과 : 30 print(i - j) # 빼기 연산 결과 : -10 print(i * j) # 곱하기 연산 결과 : 200 print(i / 2) # 나누기 연산 결과 : 5.0 <-- 파이썬은 3.x 부터 실수가 나온다. print(i // 2) # 나누기 연산 결과(소수점 제거) : 5 print(i % 2) # 나머지 연산 결과(나머지 연산) : 0 print(2 ** 3) # 2의 세제곱 print(2 + 3 * 2) # 연산자 우선 순위 결과 : 8 print((2 + 3) * 2) # 연산자 우선 순위 결과 : 10 # 정수 연산 후 변수에 저장하는 방법 # 변수를 화면에 출력하는 방법 # 형식 : # 변수 = 값 연산자 값 # 변수 = 변수 연산자 값 # 변수 = 값 연산자 변수 # 변수 = 변수 연산자 변수 # print(변수) a = i + j # 변수 i와 변수 j의 값을 더해서 변수 a에 저장한다. print(a) b = i - j # 변수 i와 변수 j의 값을 빼서 변수 b에 저장한다. print(b) c = 2 + 3 * 2 print(c) |
'Linux > Linux 실습' 카테고리의 다른 글
| [Linux] Kali Linux 를 원격 접속 설정하기 (0) | 2021.12.27 |
|---|---|
| DNS 개념과 배경에 대한 정리 (Domain Name System) (0) | 2021.12.12 |
| [Linux] 2차 네임 서버 구축 후 테스트 (0) | 2021.11.19 |
| [Linux] 2차 네임서버 구축 (0) | 2021.11.18 |
| [Linux] 도메인 SOA RR 분석 (0) | 2021.11.13 |