새소식

Programming/python

[python][virtualenv] 이미 가상 환경이 구축된 이후 설치된 전역 패키지 가져오기..

  • -

기록용으로 남깁니다.

virtualenv 를 사용하다 보니 왠만한 것은 source ~/wiznet/venvA/bin/activate 한 다음에 정상적으로 pip3 로 설치 가능하지만 apt 패키지로 제공되는 것들은 root 계정 권한으로 설치되기 때문에 이미 virtualenv 를 구성한 다음에는 이를 자동적으로 참조할 방법은 없습니다.

현재 확인한 방법으로는 이를 찾아서 수동으로 복사하는 것입니다.

일단 제가 설치한 apt 패키지는 rpi.gpio 패키지입니다.

sudo apt install rpi.gpio

전역 저장소를 찾습니다.

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

어라.. 2.7 용만 나오고.. 이상하네요.. python3 3.7 은 apt install 해서 설치한 패키지들은 dist-packages 에 저장되는 것 같습니다. 다시 찾아보겠습니다.

find /usr -name 'dist-packages'
/usr/lib/pypy/dist-packages
/usr/lib/python3/dist-packages
/usr/lib/python2.7/dist-packages
/usr/local/lib/python3.7/dist-packages
/usr/local/lib/python2.7/dist-packages
/usr/local/lib/pypy2.7/dist-packages

제 경우에는 /usr/lib/python3/dist-packages 디렉토리에 RPi 관련 내용이 저장되어 있었습니다.
현재 재 가상환경은 ~/projectA/venvA 에 구축되어 있습니다.
다음 명령으로 복사했습니다.

cp -r /usr/lib/python3/dist-packages/RPi* ~/projectA/venvA/lib/python3.7/site-packages/

source ~/projectA/venvA/bin/activate 명령 실행 후 RPi 모듈 못 찾는다는 메시지는 나오지 않고 있습니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.