패키지 밖에서
어떤 패키지를 우리는 무심코 pip 를 활용해서 설치한다. 컴퓨터에서 일반적으로 (리눅스에서) 무엇인가를 설치한다는 것은, 정해진 경로에 파일을 만들어넣는 것이다. 리눅스의 경우 의 내용을 빌리면, 어떤 패키지를 설치한다는 행위는 다음과 같다. 문장에 잡음이 있지만 핵심은 "적절한 위치" 로 복사하는 것이다. 여기서 "적절한 위치" 란 환경변수에 명시되어 있는 공간이라고 할 수 있겠다.
인용
그렇다면 파이썬 패키지를 설치한다는 것은 무엇일까? 파이썬이 패키지나 모듈을 읽을 수 있는 경로에 파이썬 파일들을 잘 넣어준다는 것을 의미한다. 우리가 pip 를 통해 설치했을 때, import numpy as np 같은 것들이 잘 작동했던 이유는 pythonpath (sys.path) 에 기록되어 있는 경로에 numpy 라는 패키지나 모듈이 있었기 때문이다. 이 경로에 적절히 패키지를 깔아주고 잘 지울 수 있도록 도와주는 것이 pip 나 setuptool 과 같은 도구라고 할 수 있다.
•
추가내용 참고
2.
그럼 정확히 어디에 설치되는가 궁금하다면 deer.5. [entry] title: pip 명령을 통해 설치되는 파이썬 패키지는 명령어(sudo -H, pip -U --user 등)에 따라 어느 경로에 설치되는지가 다르게 결정된다. 를 참고하면 된다.
그래서 어떨 때는 import 되고 어떨 때는 안되는 것은, 내가 개발한 파이썬 패키지 내에서 내 마음대로 조작해 둔 경로가 있을 땐 자기 마음대로 잘 동작을 한다고 하더라도 이것을 배포할 때에는 setup.py 와 pip 가, 내 패키지를 다운로드받은 사람이 설치할 수 있도록 만들어 두어야 하는 것이다.
•
추가내용 참고
1.
패키지 내에서
•
root
◦
projectroot
▪
modules
•
__init __.py
•
structures
◦
__init __.py
◦
board.py
•
display
◦
__init __.py
◦
run.py
~/projectroot$ python3 -m modules.display.run
Python
복사
이 문장 실행이 안 된다.
아래 내용을 통해 해결됨.
2.