[Python] pip 명령어

PIP는 Pythond의 Package 관리자이다. 개발언어인 파이선에서 패키지는 라이브러리 개념과 동일하다. PIP를 통한 패키지를 관리하기 위한 명령을 정리한다.

# pip 업데이트 (Linux)

pip install pip --upgrade

# pip 업데이트 (Windows)

python -m pip install --upgrade pip

# Python 설치(opencv-contrib-python 패키지)

pip install opencv-contrib-python

# Update 해야할 패키지 목록

pip list -o

# numpy 패키지 설치

pip install numpy

# numpy 패키지 업데이트

pip install numpy --upgrade

# numpy 패키지 제거

pip uninstall numpy

# 특정 버전의 (또는 contrib 버전) opencv 패키지 설치(참조 url: https://pypi.org/project/opencv-contrib-python/3.4.5.20/)

pip install opencv-contrib-python==3.4.5.20

[OpenLayers] 클릭한 지점에 Overlay 생성

map의 sinlgeclick 이벤트를 등록하고, 실행되는 코드를 다음처럼 지정합니다.

import Overlay from 'ol/Overlay.js';

map.on('singleclick', function(evt) {
    let container = document.createElement('div');
    container.classList.add('ol-popup-custom');

    let content = document.createElement('div');
    content.classList.add('popup-content');

    container.appendChild(content);
    document.body.appendChild(container);

    var coordinate = evt.coordinate; // 클릭한 지도 좌표
    content.innerHTML = '' + '한글(KOR)입니다.' + '';

    var overlay = new Overlay({
        element: container,
        //autoPan: true,
        //autoPanAnimation: {
        //  duration: 250
        //}
      });

    map.addOverlay(overlay);

    overlay.setPosition(coordinate);
});

참고로 위의 코드에 언급된 CSS에 대한 코드는 다음과 같습니다.

.ol-popup-custom {
    padding: 0;
    margin: 0;
    pointer-events: none;
    position: absolute;
    background-color: white;
    filter: drop-shadow(3px 3px 7px rgba(0,0,0,0.6));
    border: 1px solid black;
    width: 90px;
    left: -45px; /* 위치를 조정, -width의 절반값 */
    height: 24px;
    bottom: -12px; /* 위치를 조정, -height의 절반값 */
    box-sizing: border-box;
    overflow: hidden;
}

.popup-content {
   position: relative;
   animation-duration: 1s;
   animation-name: slidein;
   animation-direction: alternate;
   animation-iteration-count: infinite;
   box-sizing: border-box;
   line-height: 100%;
}

.popup-content > span {
    display: inline-block;
    line-height: 100%;
    width: 100%;
    font-size:10px;
    font-weight: bold;
    box-sizing: border-box;
}

@keyframes slidein {
    from {
        left: 90px;
    }

    to {
        left: 0px;
    }
}

실행하고 지도를 클릭해 보면, 아래처럼 클릭한 지점에 Overlay 정보가 표시되는 것을 볼 수 있습니다.