python 환경 학습 구축 이론 및 실시
                                            
                                                
                                                
                                                
                                                
                                                
                                                 5100 단어  PythonDeepLearning
                    
이번에 우리는 CentOS7에서python 환경의 구축을 정리할 것이다.
환경
1. IUS Community Project 저장소 추가 
CentOS7의 저장소에는python3 시스템이 제공되지 않으므로 별도의 저장소를 등록해야 합니다.# yum install -y https://centos7.iuscommunity.org/ius-release.rpm
다만 평소에 사용하지 않는 저장소이기 때문에 사용하지 않는 것으로 변경하려는 경우에만 사용합니다.# vim /etc/yum.repos.d/ius.repo
[ius]
enabled=1
↓
enabled=0
2. 최신python 설치 
ius가 제공한 최신은 3.5.2이기 때문에 이번에는 그것을 사용한다.# yum clean all
# yum install --enablerepo=ius -y python35u python35u-libs python35u-devel python35u-pip
그러나 이대로 가면 경로가 기본python으로 향하는 상태이기 때문에 2계를 가리킨다.$ python --version
Python 2.7.5
왜 이렇게 됐는지는 다음과 같은 별명이 붙어 있기 때문이다.# ls -l /bin/python                                                            
lrwxrwxrwx 1 root root 7 12月 17 17:56 /bin/python -> python2
# ls -l /bin/python2
lrwxrwxrwx 1 root root 9 12月 17 17:56 /bin/python2 -> python2.7
# ls -l /bin/python3*                                                          
-rwxr-xr-x 2 root root 11304  6月 28  2016 /bin/python3.5
lrwxrwxrwx 1 root root    26  1月  1 20:02 /bin/python3.5-config -> /usr/bin/python3.5m-config
-rwxr-xr-x 2 root root 11304  6月 28  2016 /bin/python3.5m
-rwxr-xr-x 1 root root   173  6月 28  2016 /bin/python3.5m-config
-rwxr-xr-x 1 root root  3398  6月 28  2016 /bin/python3.5m-x86_64-config
여기서 주의해야 할 것은python을 3개의 기호 링크에 다시 붙여서는 안 된다는 것이다.
다시 붙이면python2계를 사용하시는 분들은 움직이지 않을 거예요.
예를 들어yum는 사용할 수 없습니다.이런 오류가 발생할 수 있다.File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
따라서 3 계열을 사용할 때는 아래와 같이 사용한다.
(일반적으로 어떻게 쓰는 게 좋을까요? 아니면 pyenv를 쓰는 게 좋을까요?)# ln -s /bin/python3.5 /bin/python3
# python3 --version
Python 3.5.2
pip도 2.7을 통과했다.# ln -s /bin/pip3.5 /bin/pip3
# pip3 --version
pip 9.0.1 from /usr/lib/python3.5/site-packages (python 3.5)
3. 외부 라이브러리 NumPy 및 Matplotlib 설치 
이번에는 학습을 위해 다차원 그룹을 제공하는'NumPy'와 도표와 시각화된 데이터를 그릴 수 있는'Matplotlib'를 사용합니다.
import Matplotlib를 위해서는 다음 패키지가 필요하므로 설치합니다.# yum install --enablerepo=ius -y python35u-tkinter
그런 다음 NumPy 및 Matplotlib를 설치합니다.# pip3 install numpy matplotlib
준비 작업은 여기서 마치겠습니다.
그리고 이런 스크립트를 써서 이동하면 도표를 출력할 수 있습니다.
sample-graph.py 1 #!/bin/python3
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 
 5 x = np.arange(0,6,0.1)
 6 y = np.sin(x)
 7 
 8 plt.plot(x, y)
 9 plt.show()
 
 
비GUI 환경 처리 
SSH가 원격 연결과 같은 GUI 환경이 아닐 때 상기 스크립트의plt.plot (x, y) 부분을 실행할 때 다음과 같은 오류가 발생할 수 있습니다._tkinter.TclError: no display name and no $DISPLAY environment variable
다음과 같은 처리를 고려할 수 있다.
처리 1: 파일을 통해 차트 내보내기
 
우선python의 설정을 변경합니다.
/usr/lib64/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc 38 backend      : tkagg
 ↓
 38 #backend      : tkagg
 39 backend      : agg
상술한 수정과 결합하여 스크립트 "sample-graph.py"의 마지막 줄을 수정합니다. 8 plt.show()
 ↓
 8 plt.savefig('sample-graph.png')
이제 지정된 차트를 파일로 내보낼 수 있습니다.
처리 2: GUI에서 작업
 
ssh 원격 연결을 통해 컴퓨터를 직접 조작할지 여부입니다.
만약 기계가 CUI라면 아래 명령으로 GUI로 변경하여 조작하시겠습니까?이제 됐어!# systemctl isolate graphical.target
마지막 
나는 이렇게 공부하는데 필요한python의 환경 구축이 완성되었다고 생각한다.
(환경의 준비 때문에 의외로 시간을 낭비했다...)
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(python 환경 학습 구축 이론 및 실시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/U_ikki/items/9632d50f702d4dedc0a1
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
# yum install -y https://centos7.iuscommunity.org/ius-release.rpm
# vim /etc/yum.repos.d/ius.repo
[ius]
enabled=1
↓
enabled=0
ius가 제공한 최신은 3.5.2이기 때문에 이번에는 그것을 사용한다.
# yum clean all
# yum install --enablerepo=ius -y python35u python35u-libs python35u-devel python35u-pip
$ python --version
Python 2.7.5
# ls -l /bin/python                                                            
lrwxrwxrwx 1 root root 7 12月 17 17:56 /bin/python -> python2
# ls -l /bin/python2
lrwxrwxrwx 1 root root 9 12月 17 17:56 /bin/python2 -> python2.7
# ls -l /bin/python3*                                                          
-rwxr-xr-x 2 root root 11304  6月 28  2016 /bin/python3.5
lrwxrwxrwx 1 root root    26  1月  1 20:02 /bin/python3.5-config -> /usr/bin/python3.5m-config
-rwxr-xr-x 2 root root 11304  6月 28  2016 /bin/python3.5m
-rwxr-xr-x 1 root root   173  6月 28  2016 /bin/python3.5m-config
-rwxr-xr-x 1 root root  3398  6月 28  2016 /bin/python3.5m-x86_64-config
다시 붙이면python2계를 사용하시는 분들은 움직이지 않을 거예요.
예를 들어yum는 사용할 수 없습니다.이런 오류가 발생할 수 있다.
File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
(일반적으로 어떻게 쓰는 게 좋을까요? 아니면 pyenv를 쓰는 게 좋을까요?)
# ln -s /bin/python3.5 /bin/python3
# python3 --version
Python 3.5.2
# ln -s /bin/pip3.5 /bin/pip3
# pip3 --version
pip 9.0.1 from /usr/lib/python3.5/site-packages (python 3.5)
3. 외부 라이브러리 NumPy 및 Matplotlib 설치 
이번에는 학습을 위해 다차원 그룹을 제공하는'NumPy'와 도표와 시각화된 데이터를 그릴 수 있는'Matplotlib'를 사용합니다.
import Matplotlib를 위해서는 다음 패키지가 필요하므로 설치합니다.# yum install --enablerepo=ius -y python35u-tkinter
그런 다음 NumPy 및 Matplotlib를 설치합니다.# pip3 install numpy matplotlib
준비 작업은 여기서 마치겠습니다.
그리고 이런 스크립트를 써서 이동하면 도표를 출력할 수 있습니다.
sample-graph.py 1 #!/bin/python3
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 
 5 x = np.arange(0,6,0.1)
 6 y = np.sin(x)
 7 
 8 plt.plot(x, y)
 9 plt.show()
 
 
비GUI 환경 처리 
SSH가 원격 연결과 같은 GUI 환경이 아닐 때 상기 스크립트의plt.plot (x, y) 부분을 실행할 때 다음과 같은 오류가 발생할 수 있습니다._tkinter.TclError: no display name and no $DISPLAY environment variable
다음과 같은 처리를 고려할 수 있다.
처리 1: 파일을 통해 차트 내보내기
 
우선python의 설정을 변경합니다.
/usr/lib64/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc 38 backend      : tkagg
 ↓
 38 #backend      : tkagg
 39 backend      : agg
상술한 수정과 결합하여 스크립트 "sample-graph.py"의 마지막 줄을 수정합니다. 8 plt.show()
 ↓
 8 plt.savefig('sample-graph.png')
이제 지정된 차트를 파일로 내보낼 수 있습니다.
처리 2: GUI에서 작업
 
ssh 원격 연결을 통해 컴퓨터를 직접 조작할지 여부입니다.
만약 기계가 CUI라면 아래 명령으로 GUI로 변경하여 조작하시겠습니까?이제 됐어!# systemctl isolate graphical.target
마지막 
나는 이렇게 공부하는데 필요한python의 환경 구축이 완성되었다고 생각한다.
(환경의 준비 때문에 의외로 시간을 낭비했다...)
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(python 환경 학습 구축 이론 및 실시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/U_ikki/items/9632d50f702d4dedc0a1
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
# yum install --enablerepo=ius -y python35u-tkinter
# pip3 install numpy matplotlib
 1 #!/bin/python3
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 
 5 x = np.arange(0,6,0.1)
 6 y = np.sin(x)
 7 
 8 plt.plot(x, y)
 9 plt.show()
SSH가 원격 연결과 같은 GUI 환경이 아닐 때 상기 스크립트의plt.plot (x, y) 부분을 실행할 때 다음과 같은 오류가 발생할 수 있습니다.
_tkinter.TclError: no display name and no $DISPLAY environment variable
처리 1: 파일을 통해 차트 내보내기
우선python의 설정을 변경합니다.
/usr/lib64/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc
 38 backend      : tkagg
 ↓
 38 #backend      : tkagg
 39 backend      : agg
 8 plt.show()
 ↓
 8 plt.savefig('sample-graph.png')
처리 2: GUI에서 작업
ssh 원격 연결을 통해 컴퓨터를 직접 조작할지 여부입니다.
만약 기계가 CUI라면 아래 명령으로 GUI로 변경하여 조작하시겠습니까?이제 됐어!
# systemctl isolate graphical.target
마지막 
나는 이렇게 공부하는데 필요한python의 환경 구축이 완성되었다고 생각한다.
(환경의 준비 때문에 의외로 시간을 낭비했다...)
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(python 환경 학습 구축 이론 및 실시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/U_ikki/items/9632d50f702d4dedc0a1
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
Reference
이 문제에 관하여(python 환경 학습 구축 이론 및 실시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/U_ikki/items/9632d50f702d4dedc0a1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)