Windows Powershell로 긴 명령어를 짧게 만드는 function 함수 사용

공대생의 팁 2022. 5. 12. 19:49

 Windows 환경에서 Python을 사용할 때 pip로 라이브러리를 설치할 때 cmd 혹은 Powershell을 사용합니다. 일반적인 상황에서는 단지

 

 > pip install 라이브러리명

 

 위와 같이 입력만 해줘도 바로 라이브러리를 설치 할 수 있으나 유독 사내망에서는 SSL 인증서 이슈로 인해 조금은 복잡한 설정을 해주어야 합니다.

 

 

python에서 pip install 과정에서 SSL 오류 해결방법

 python의 라이브러리를 사용함에 있어 pip를 통해 관련 라이브러리 패키지를 다운로드 받아 설치할 수 있습니다. 비록 pip가 root 권한 관련 문제가 있지만 그나마 사용할만한 것입니다. 물론 이러

elecs.tistory.com

 

 > pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install 패키지명

 

 Linux 환경에서는 bashrc에서 설정만 해주면 위와 같은 명령어를 굳이 입력하지 않아도 바로 설치가 진행되지만 Windows 환경에서는 bashrc와 같은 설정을 하기엔 상당히 번거로운 면이 있습니다 

 

 Powershell에서 매번 입력하기엔 긴 명령어의 경우 아래와 같이 function 함수를 사용하면 자신이 정한 임의의 명령어로 아래와 같이 설정할 수 있습니다.

 

1
2
3
function 설정하고자 하는 함수명(){
    입력하고자 하는 긴 명령어
}
cs

 

 만약 여러분들께서 여러개의 Argunent를 명령어로 입력해야 할 경우 foreach 반복문으로 여러번 입력할 수 있습니다.

 

1
2
3
4
5
function 설정하고자 하는 함수명(){
    foreach($arg in $args){
        입력하고자 하는 긴 명령어 $arg
    }
}
cs

 여기서 $args는 자신이 함수를 입력한 다음 여러 개의 인자를 입력할 때 각 인자별로 $arg로 입력이 됩니다.

 아래는 pip의 ssl 이슈를 해결하기 위해 --trusted-host에 3개의 긴 주소명을 적은 다음 설치하고자 하는 다수의 패키지를 설치하기 위한 명령어입니다. 이 때 명령어는 임의로 pipip로 지었습니다.

 

1
2
3
4
5
function pipip(){
    foreach($arg in $args){
        pip --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org install $arg
    }
}
cs

만약 제가 다음과 같은 명령어를 입력한다면 어떻게 될까요?

 

> pipip opencv-python numpy matplotlib

 

이 경우 pip로 다음과 같은 명령어가 3번 수행되었음을 확인하실 수 있습니다.

 

> pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install opencv-python
> pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install numpy
> pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install matplotlib

 

 위에서 확인할 수 있듯이 긴 명령어를 function 함수로 간편하게 불러올 수 있음을 확인할 수 있습니다.

300x250