본문 바로가기
정보보안/OS

리눅스 환경에서 파이썬 모듈 경로 변경(Ubuntu 18.04 기준)

by 우동이 2020. 12. 24.
300x250

파이썬이란 언어 자체는 인터프리터식 언어로 매우 가볍습니다.

물론 필수적인 기능은 내장 라이브러리로 갖추어져 있으나 웹, 크롤링등 좋은 성능의 라이브러리는 전부 외장으로

따로 설치 후 사용해야 합니다.

 

이러한 외장 라이브러리들을 사용하는 방법은 pip(package install for python)를 통해 외부 라이브러리를 설치후

그 라이브러리들을 사용한다고 선언(import) 해주는 것입니다.

 

파이썬을 사용할 때에 주로 기본 환경에서 사용한다면 설치한 라이브러리들은 자동으로 파이썬 라이브러리 경로에 추가되어 사용이 가능하겠지만 그렇지 않은 경우는 별도의 설정이 필요합니다.


MODULE : sys

import sys

sys는 python의 내장 모듈이며 시스템(변수&함수)을 직접 제어하는 기능을 가진 모듈입니다.

sys.path

sys.path의 기능은 경로를 출력하는 데에 있습니다.

출력되는 경로는 파이썬의 모듈(라이브러리)이 존재하거나 모듈을 인식하는 경로를 전부 출력합니다.

#main.py
import sys
print(sys.path)

 

module 이 위치한 경로들


sys.path.append

사용법

import sys
sys.path.append("추가할 경로")
print(sys.path)

sys.path.append는 이미 지정되어 있는 sys.path 속성에 append()를 통해 새로운 경로를 추가합니다.

이렇게 추가된 경로는 새롭게 파이썬의 라이브러리를 저장할 수 있는 경로로 인식됩니다.

 

즉 자신이 라이브러리를 넣어 관리할 경로를 따로 지정할 수 있다는 뜻입니다.


구름 IDE와 같은 웹 통합개발환경에서 파이썬 경로 설정하는 법

위 내용은 파이썬의 기본적인 모듈 경로 설정법입니다.

또한 구름 IDE와 같은 웹 통합개발환경에서 사용되는 파이썬 가상 컨테이너의 파이썬 모듈 경로를 변경해 보겠습니다.

 

이 글을 작성하는 이유는 구름 IDE와 같은 웹 통합개발환경에서 파이썬의 sys.path에 모듈 경로를 추가했지만

작동하지 않았기 때문입니다.


1. 홈 디렉터리의. profile 파일 찾기

#. profile 파일은 해당 사용자의 스크립트 파일을 실행시킵니다. (ex. root의. profile일 경우 root만 적용)

/etc/profile 은 전체 사용자 해당

 

root 계정의 홈 디렉토리

root계정의 홈 디렉터리인 root로 들어갑니다.

그냥 ls만 사용하면 나오지 않으니 -a, -al의 옵션을 줍니다.

(ls -a 혹은 ls -al로 검색)

vi 혹은 vim으로. profile을 열어줍니다.

vim .profile

. profile파일의 export PYTHONPATH 부분에 자신이 추가할 모듈 경로에 대한 내용을 작성해 줍니다.

export PYTHONPATH = ""

예시는 아래와 같습니다.

export PYTHONPATH="${PYTHONPATH}:추가할경로"

내용을 추가해 준 후 source. profile 명령어를 통해. profile 스크립트 파일을 실행해 줍니다.

source .profile

source -> 스크립트 실행 명령어

 


모듈을 추가하는 법을 알게 되었으니 다른 모듈 폴더에 위치한 파일을 통해 모듈 import 하는 결과를 확인해 보겠습니다.

 

time_check.py (module file)
loop1.py
Result

다른 파일에 있는 모듈을 정상적으로 import 해서 사용하는 데 성공했습니다.

이로써 자신이 원하는 모듈을 넣은 경로를 성공적으로 인식시켰습니다.

 

 

 


다른 글

 

 

Iptables TCP,ICMP 프로토콜 패킷 제어하기 - 2

작업환경 가상머신 : Virtual Box 7 방화벽(Iptables) : Cent OS 7 사무용 PC(Office PC) : Fedora Workstation 35 DMZ Zone(WebServer) : Fedora Server 관련글 방화벽 활용을 위한 가상 인프라 구축 - 1 // Iptables, CentOS, Web Server,

hobbylists.tistory.com

 

 

광주 수완지구 항공 촬영 사진 - 드론 촬영지 추천

*포스팅에서 사용되는 모든 사진은 상업적 목적으로 촬영되었으므로 무단 사용을 금합니다.* 제 본가는 전...

blog.naver.com

 

 

파이썬 셀레니움 find_element_by_class_name 삭제이슈관련 및 대체방법

작업 날짜 : 2022-08-31 작업환경 : python 3.10.2 작업 라이브러리 버전 : selenium 4.3.0 @app.route('/test_page') def test_page(): driver = webdriver.Chrome('./chromedriver') driver.implicitly_wait(3) driver.get("https://test_link.com") soup

hobbylists.tistory.com

 

 

300x250

댓글