下面是我的案例:
我正在使用Ubuntu 10.04 (Lucid Lynx)。系统的默认Python是v2.6.5,但我需要PythonV2.7。所以我从python.org下载了源代码并尝试安装。
在我第一次安装它时,我运行:
cd Python2.7.4
./configure --prefix=/usr
make
su root
make install这会将Python2.7安装到我的系统中。它将在/usr/bin中创建一个链接"python",也可以在/usr/bin中链接到python2.7。因此,当我输入>python时,系统将启动Python2.7.4,就像我输入>python2.7时一样。
但是当我以这种方式安装时:
cd Python2.7.4
./configure --prefix=/usr
make
su root
make altinstall/usr/bin中的链接"python“仍然存在,并且链接到默认系统版本的python2.6。当然,我可以删除它并创建一个新的软链接链接到python2.7。
除了/usr/bin中的链接,命令"make install“和"make altinstall”有什么区别
发布于 2013-04-15 23:16:28
让我们来看看生成的Makefile!
首先,安装目标:
install: altinstall bininstall maninstall它与bininstall和maninstall一起完成altinstall所做的所有工作
下面是bininstall;它只创建python和其他符号链接。
# Install the interpreter by creating a symlink chain:
# $(PYTHON) -> python2 -> python$(VERSION))
# Also create equivalent chains for other installed files
bininstall: altbininstall
-if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
else true; \
fi
(cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
-rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
... (More links created)这是maninstall,它只是创建了指向Python手册页面的“未版本化”链接。
# Install the unversioned manual pages
maninstall: altmaninstall
-rm -f $(DESTDIR)$(MANDIR)/man1/python2.1
(cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1)
-rm -f $(DESTDIR)$(MANDIR)/man1/python.1
(cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1)altinstall跳过创建python链接和手册页链接,install将隐藏系统二进制文件和手册页。
发布于 2021-12-28 23:54:18
Altinstall将确保您机器上的默认python不会被触动。
https://stackoverflow.com/questions/16018463
复制相似问题