Page 23 -
P. 23

PyPI에 들어 있는 각 모듈은 서로 다른 라이선스로 제공된다. 대부분의 패
                                                  *
                  키지, 특히 유명한 패키지들은 보통 자유 로운 오픈 소스 라이선스(https://
                  opensource.org에서 자세한 내용을 볼 수 있다)로 제공된다. 대부분의 경
                  우 이런 라이선스는 여러분의 프로그램에 모듈을 복사해 포함시킬 수 있게

                  허용하지만, 잘 모르겠다면 변호사에게 문의하라.



                    기억해야 할 내용
                    •   파이썬 패키지 인덱스(PyPI)에는 파이썬 커뮤니티가 개발하고 유지하는 풍부한 공통 패
                      키지가 들어 있다.
                    •  pip는 PyPI에 있는 패키지를 설치하고 사용할 때 쓸 수 있는 명령줄 도구다.
                    •  PyPI 모듈의 대다수는 자유 소프트웨어이거나 오픈 소스 소프트웨어다.






                  Better way  83 가상 환경을 사용해 의존 관계를 격리하고
                                 반복 생성할 수 있게 하라


                  크고 복잡한 프로그램을 만들다 보면 파이썬 커뮤니티가 제공하는 다양한 패
                  키지에 의존하게 되는 경우가 많다(Better way 82: ‘커뮤니티에서 만든 모
                  듈을 어디서 찾을 수 있는지 알아두라’ 참고). python3 -m pip 명령줄 도구를

                  사용해 pytz, numpy 등의 다양한 패키지를 자주 설치할 것이다.

                  문제는 pip가 새로운 패키지를 기본적으로 모든 파이썬 인터프리터가 볼 수

                  있는 전역 위치에 저장한다는 데 있다. 이로 인해 여러분의 시스템에서 실행
                  되는 모든 파이썬 프로그램이 설치한 모듈의 영향을 받게 된다. 이론적으로

                  는 이런 일이 문제가 되면 안 된다. 어떤 패키지를 설치했다 해도 import하지
                  않는다면, 이 패키지가 어떻게 여러분의 프로그램에 영향을 미치겠는가?


                  *    역주  free software를 ‘공짜 소프트웨어’라고 번역할 수도 있지만, 코드에 대한 사용권의 자유를 의미하는 뜻에서
                    ‘자유 소프트웨어’라고 번역했다.



                                                                        10장  협업  569




     파이썬 코딩의 기술_06.indd   569                                              2020-10-20   오후 2:53:41
   18   19   20   21   22   23   24   25