Python 코드 안에서 pip install하기
import sys
import subprocess
def pip_install(package):
subprocess.check_call(["sudo", sys.executable, "-m", "pip", "install", package])
def pip_install_requirements(requirements_dir):
subprocess.check_call(["sudo", sys.executable, "-m", "pip", "install", "-r", requirements_dir.rstrip(".txt")+".txt"])
https://stackoverflow.com/questions/12332975/installing-python-module-within-code
Pip install을 했을 때 생기는 일
Pip install을 하면, 단순히 해당 프로젝트를 /opt/conda/lib/python3.6/site-packages/패키지 이런 곳에 다운받아서 python code들을 read only로 설정하게 된다.
만약 내가 이 코드를 수정하고 싶으면, sudo 권한을 이용해서 강제로 변경할 수도 있다.
Pip install --user를 사용했을 때
--user옵션을 줄 경우, 단순히 package설치 경로가 해당 user의 home dir 밑으로 설치되는 것이 유일한 차이점이다. 이는 virtual_env를 무시하고 일어나기 때문에 문제가 생길 수 있어서 가능한 피하는게 좋다.
Python에서 git clone하기
import os
import sys
import git
def make_safe_dir(dir):
if not os.path.exists(dir):
os.makedirs(dir)
def git_clone(git_url):
target_dir = os.path.join(GlobalVariable.ProjectRoot, GlobalVariable.Conf.tmp_clone_dir)
make_safe_dir(target_dir)
git.Git(target_dir).clone(git_url)
https://stackoverflow.com/questions/2472552/python-way-to-clone-a-git-repository
'Development > Python' 카테고리의 다른 글
Python Multiprocessing 가이드 (2) | 2020.02.20 |
---|---|
Python에서 directory 관련 명령어 (0) | 2020.02.19 |
Advanced Python Scheduler (0) | 2020.02.18 |
Airflow (0) | 2020.02.11 |
Black: Uncompromising Python Coding Convetion (0) | 2020.02.04 |
댓글