Archive

[Python][Solution] Linux 에서 Build 한 Python 삭제하기 (Remove Python build on Linux) 본문

------- CS -------/Lang

[Python][Solution] Linux 에서 Build 한 Python 삭제하기 (Remove Python build on Linux)

enent 2021. 8. 2. 20:58
반응형
Enviornment : CentOS 7.8

 

Problem

Python 을 직접 빌드하여 설치했으나, make uninstall, make -n install 등의 명령어가 먹히지 않는 상황에서 깔끔히 지워야 했다.

Solution

생각보다 설치되는 위치가 많지 않아 직접 지울 수 있다.
~/.local/lib과 /usr/local 하위에만 설치되며 bin, lib, include 등의 폴더에만 설치된다.
python 3.7을 기준으로 적었으며, 3.7대신 버전명만 달리 해서 진행하면 된다.
단, Linux의 경우 default로 설치되어있는 python2를 건드리지 않도록 조심해야 한다.
물론 경로가 달라서 거의 그럴 경우는 없겠다만 혹시나... 꼭 해당하는 버전에 대한 파일들만 지우자.

 

 

 

1. rm -r ~/.local/lib/python3.7

해당 폴더는 진행했던 작업에 따라 존재할 수도 안 할 수도 있다.

 

 

2.1 /usr/local/bin

해당 경로 아래 2to3-3.7, easy_install-3.7, idle3.7, pip3, pip3.7, pydoc3, pydoc3.7 python3.7, python3.7-config, python3.7m, python3.7m-config, pyvenv-3.7
또한 파일과 연결된 symbolic link들도 지워준다.
나의 경우 /usr/local/bin 아래에 있는 모든 파일을 지워주었다.

[sandbox@test ~]$ ll /usr/local/bin total 27384 lrwxrwxrwx 1 root root 8 Jul 30 13:40 2to3 -> 2to3-3.7 -rwxr-xr-x 1 root root 101 Jul 30 13:40 2to3-3.7 -rwxr-xr-x 1 root root 238 Jul 30 13:40 easy_install-3.7 lrwxrwxrwx 1 root root 7 Jul 30 13:40 idle3 -> idle3.7 -rwxr-xr-x 1 root root 99 Jul 30 13:40 idle3.7 -rwxr-xr-x 1 root root 229 Jul 30 13:40 pip3 -rwxr-xr-x 1 root root 229 Jul 30 13:40 pip3.7 lrwxrwxrwx 1 root root 8 Jul 30 13:40 pydoc3 -> pydoc3.7 -rwxr-xr-x 1 root root 84 Jul 30 13:40 pydoc3.7 lrwxrwxrwx 1 root root 9 Jul 30 13:40 python3 -> python3.7 -rwxr-xr-x 2 root root 14001888 Jul 30 13:39 python3.7 lrwxrwxrwx 1 root root 17 Jul 30 13:40 python3.7-config -> python3.7m-config -rwxr-xr-x 2 root root 14001888 Jul 30 13:39 python3.7m -rwxr-xr-x 1 root root 2902 Jul 30 13:40 python3.7m-config lrwxrwxrwx 1 root root 16 Jul 30 13:40 python3-config -> python3.7-config lrwxrwxrwx 1 root root 10 Jul 30 13:40 pyvenv -> pyvenv-3.7 -rwxr-xr-x 1 root root 441 Jul 30 13:40 pyvenv-3.7

 

2.2 /usr/local/lib

해당 경로 아래 libpython3.7m 파일과 pkgconfig, python3.7 폴더를 지워준다.
나의 경우 /usr/local/lib 아래에 있는 모든 파일을 지워주었다.

[sandbox@test ~]$ ll /usr/local/lib total 24256 -r-xr-xr-x 1 root root 24822226 Jul 30 13:39 libpython3.7m.a drwxr-xr-x 2 root root 67 Jul 30 13:40 pkgconfig drwxr-xr-x 35 root root 8192 Jul 30 13:40 python3.7

 

2.3 /usr/local/share/man/man1

해당 경로 아래 python3.7.1 파일과 연결된 symbolic link들도 지워준다.
나의 경우 /usr/local/share/man/man1 아래에 있는 모든 파일을 지워줘도 괜찮았다.

[sandbox@test ~]$ ll /usr/local/share/man/man1 total 20 lrwxrwxrwx 1 root root 11 Jul 30 13:40 python3.1 -> python3.7.1 -rw-r--r-- 1 root root 18192 Jul 30 13:40 python3.7.1



2.4 /usr/local/include


해당 경로 아래 python3.7m 폴더를 지워준다.
나의 경우 /usr/local/include 아래에 있는 모든 파일을 지워줘도 괜찮았다.

[sandbox@test ~]$ ll /usr/local/include total 4 drwxr-xr-x 3 root root 4096 Jul 30 13:40 python3.7m

 

Conclusion)

make uninstall 보다는 아니지만 해당 명령어가 제대로 동작하지 않는 상황에서 유용하게 지울 수 있었다.

 

 

 

https://unix.stackexchange.com/questions/190794/uninstall-python-installed-by-compiling-source
반응형
Comments