如何使用打包版本替换从源安装的Python?

Tom*_*ner 5 python apt uninstall

正在准备Python 3.7我3.7.0b3从源代码安装了Python .现在3.7已经出来了,我想使用为Ubuntu打包的版本.所以我做到了

apt-get install python3.7
Run Code Online (Sandbox Code Playgroud)

但

$ which python3.7
/usr/local/bin/python3.7

$ /usr/local/bin/python3.7 --version 
Python 3.7.0b3
Run Code Online (Sandbox Code Playgroud)

如何卸载从源代码安装的Python(在Ubuntu上)?或者我如何用apt repo打包版本替换它?

nne*_*neo 10

既然你开了赏金,我就不能投票给关闭作为副本,但这个问题似乎提供了一个可能的解决方案.引用接受的答案:

您可以使用checkinstall删除Python.这个想法是:

  1. 安装checkinstall
  2. 使用checkinstall来安装Python
  3. 使用dpkg -r删除DEB.

checkinstall基本上包装一个make install命令并.deb根据安装的内容创建一个Debian 软件包.然后,您可以卸载该程序包以make install完全撤消.为了完全安全,您可能需要首先卸载打包的Python 3.7,然后重新安装它以避免任何冲突(我不会指望任何冲突,因为打包版本位于/ usr,而您的源版本位于/ usr/local ).

如果您没有源文件,可以再次下载它们(https://www.python.org/downloads/release/python-370b3/)并重建Python.具体来说,checkinstall命令看起来像这样:

sudo apt install checkinstall
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0b3.tgz
tar xf Python-3.7.0b3.tgz
cd Python-3.7.0b3
./configure && make
sudo checkinstall -D --fstrans=no make install
sudo dpkg -r Python-3.7.0b3.deb
Run Code Online (Sandbox Code Playgroud)

(-D创建Debian软件包,--fstrans=no禁止使用临时目录进行安装).