Python安裝:make install和make altinstall的差別

最近更新時間 2020-01-04 15:51:46

Linux系統中源碼安裝Python3時,編譯時使用make installmake altinstall之間存在一定區別。

不同操作系統可能有一定的差別,本文使用的操作系統為Centos7。

查看源文件Makefile,可以看出兩者之間的差異:

install:  commoninstall bininstall maninstall 
	if test "x$(ENSUREPIP)" != "xno"  ; then \
		case $(ENSUREPIP) in \
			upgrade) ensurepip="--upgrade" ;; \
			install|*) ensurepip="" ;; \
		esac; \
		$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
			$$ensurepip --root=$(DESTDIR)/ ; \
	fi

altinstall: commoninstall
	if test "x$(ENSUREPIP)" != "xno"  ; then \
		case $(ENSUREPIP) in \
			upgrade) ensurepip="--altinstall --upgrade" ;; \
			install|*) ensurepip="--altinstall" ;; \
		esac; \
		$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
			$$ensurepip --root=$(DESTDIR)/ ; \
	fi

文件顯示,make install會執行commoninstallbininstallmaninstall三個過程,而make altinstall只執行commoninstall過程。

1. make install命令會創建符號鏈接。

make install命令執行後,/usr/local/bin目錄情況:

ll /usr/local/bin|grep python
lrwxrwxrwx... python3 -> python3.8
-rwxr-xr-x... python3.8
-rwxr-xr-x... python3.8-config
lrwxrwxrwx... python3-config -> python3.8-config

make altinstall命令執行後,/usr/local/bin目錄情況:

ll /usr/local/bin|grep python
-rwxr-xr-x... python3.8
-rwxr-xr-x... python3.8-config

2. make altinstall不會創建軟鏈和手冊相關信息。

rss_feed