기본기/OS

[ubuntu] apt install로 설치한 패키지 anaconda 가상환경에 집어넣기

dohyeon2 2022. 3. 17. 11:28

목차

    최근 3D Reconstruction 공부를 하면서 point cloud 관련 라이브러리를 설치할 일이 생겼다.

    하지만 특정 패키지가 파이썬 패키지 인덱스인 PyPI에서 제공하지 않아 pip install로 가상환경에 곧바로 설치할 수 없는 이슈가 발생했다. apt install로 설치되는 패키지는 root 권한으로 설치되기 때문에 이미 구성된 가상환경에 이를 자동으로 설치할 방법은 없다.

     

    구글링 해본 결과 해결방법은 다음과 같다. apt install로 설치된 파일 경로를 찾아가서 수동으로 가상환경에 복사해주는 것! 

    내가 가상환경에 설치하고자 하는 apt 패키지는 다음과 같다.

    sudo apt install libpcl-dev

    해결방법

    1. 전역 저장소 찾기

    $find /usr -name 'site-packages'
    
    /usr/lib/pypy/lib-python/2.7/site-packages
    /usr/local/lib/python2.7/site-packages

     

    파이썬 2.7 버전이 아니라 3.7버전을 찾기 위해서는 dist-package 를 호출해야 한다.

     

    $find /usr -name 'dist-packages'
    
    /usr/local/lib/python2.7/dist-packages
    /usr/local/lib/python3.6/dist-packages
    /usr/lib/python2.7/dist-packages
    /usr/lib/python3/dist-packages

    나는 usr/lib/python3/dist-packages 에 설치되어 있었다. 

     

    내가 사용하고자 하는 가상환경은 anaconda 로 구성한 smartfarm 가상환경이고 경로는 다음과 같다.

    ~/anaconda3/envs/smartfarm

     

    2. 가상환경 라이브러리 디렉토리에 복사

    이제 dist-package에 저장된 pcl 라이브러리를 smartfarm 가상환경 라이브러리 디렉토리에 복사해보면

     

    cp -r /usr/lib/python3/dist-packages/pcl* ~/anaconda3/envs/smartfarm/lib/python3.6/site-packages

     

    3. 활성화

    source ~/anaconda3/envs/smartfarm/bin/activate