我已经用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'])],
)
如何从我的ubuntu机器上删除这个应用程序?
我能用鼻子做这个吗?
因为运行
pip uninstall <package>
的pip 8.0.0在<package>
是操作系统预先安装的(可能是python setup.py安装)时不起作用。错误消息是:
您需要使用OS包管理器来代替pip来卸载这些包。
所以在Ubuntu上:
sudo apt-get remove python-<package>
会删除它。我发现有两个包有这个问题:httplib2和six,上面的技巧帮助我克服了这个错误。希望其他人觉得这有用。
AFAIK only pip允许卸载python模块,因此如果没有安装它,可以使用
然后使用pip卸载模块
其中
module_name
是在setup
函数的name
参数中传递的值。编辑:刚刚看到您用“python-3.x”标记了您的问题,而且pip还没有3.x版本,因此如果您需要卸载python3.x模块,这个答案不合适。
安装checkinstall Ubuntu包。
checkinstall
监视安装过程并创建deb包。这允许您使用常规的包管理命令来删除软件。首先,使用checkinstall重新安装候选python模块/包。将目录更改为包含候选python模块/包的setup.py文件的目录:
然后:
这将创建一个.deb包,并再次安装python模块。 我们会问你几个问题。默认答案应该没问题。 (但是,当setup.py文件位于python模块的子目录(例如“source”子目录)中时,可以更改.deb包的“名称”。)
(saved.deb包现在捕获了python包自身的安装方式,dpkg可以删除python包。)
然后立即卸下模块:
另外,我听说有些安装程序与
checkinstall
不兼容,尽管我自己从未遇到过任何问题。相关问题 更多 >
编程相关推荐