xRo*_*bot 6 python ubuntu distutils python-3.x
我用这个setup.py安装了一个python应用程序:
#!/usr/bin/env python
from distutils.core import setup
from libyouandme import APP_NAME, APP_DESCRIPTION, APP_VERSION, APP_AUTHORS, APP_HOMEPAGE, APP_LICENSE
setup(
name=APP_NAME.replace(" ","-").lower(),
version=APP_VERSION,
description=APP_DESCRIPTION,
author="John G",
author_email="xxx@gmail.com",
url=APP_HOMEPAGE,
license=APP_LICENSE,
scripts=["youandme.py"],
packages=["libyouandme"],
data_files=[
('share/applications', ['youandme.desktop']),
('usr/share/icons/hicolor/16x16/apps', ['icons/hicolor/16x16/apps/you.png']),
('usr/share/icons/hicolor/22x22/apps', ['icons/hicolor/22x22/apps/you.png']),
('usr/share/icons/hicolor/48x48/apps', ['icons/hicolor/48x48/apps/you.png'])],
)
Run Code Online (Sandbox Code Playgroud)
如何从我的ubuntu机器中删除此应用程序?
我能用distutils做到这一点吗?
安装checkinstall Ubuntu软件包.checkinstall
监视安装过程并创建deb包.这使您可以使用常规程序包管理命令来删除该软件.
首先,使用checkinstall重新安装候选python模块/包.将目录更改为包含候选python模块/包的setup.py文件的目录:
cd <PACKAGE_NAME>
Run Code Online (Sandbox Code Playgroud)
然后:
sudo checkinstall -D --fstrans=no python setup.py install
Run Code Online (Sandbox Code Playgroud)
这将创建一个.deb包,并再次安装python模块.你会被问到几个问题.默认答案应该没问题.(但是当setup.py文件位于python模块的子目录中时,您可能会更改.deb包的"名称",例如"source"子目录.)
(保存的.deb包现在捕获python包自身的安装方式,dpkg可以删除python包.)
然后立即删除模块:
sudo dpkg -r <PACKAGE_NAME>
Run Code Online (Sandbox Code Playgroud)
PS.我听说有些安装程序不兼容checkinstall
,但我自己从未遇到过任何问题.
归档时间: |
|
查看次数: |
7402 次 |
最近记录: |