我已经用python setup.py install安装了一个python包。
如何卸载?
我已经用python setup.py install安装了一个python包。
如何卸载?
当前回答
现在python让你选择在安装过程中安装pip(我在Windows上,至少python在Windows上这样做!)。考虑到您在安装python时选择了安装pip(实际上不必选择,因为它是默认的),pip已经为您安装了。然后,在命令提示符中输入pip,您应该会看到出现帮助。你可以在那里找到必要的使用说明。例如,pip list显示了已安装包的列表。你可以使用
pip uninstall package_name
卸载你不再需要的软件包。在这里阅读更多(pip文档)。
其他回答
首先记录您已安装的文件。你可以重复这个命令,即使你之前已经运行了setup.py install:
python setup.py install --record files.txt
当你想卸载时,你可以:
sudo rm $(cat files.txt)
这是可行的,因为rm命令接受一个以空格分隔的文件列表来删除,而您的安装记录就是这样一个列表。
注意:避免使用python setup.py install使用pip install。
您需要手动删除所有文件,并撤消安装时手动执行的任何其他操作。
如果您不知道所有文件的列表,您可以使用——record选项重新安装它,并查看生成的列表。
要记录已安装文件的列表,您可以使用:
python setup.py install --record files.txt
一旦你想卸载,你可以使用xargs来删除:
xargs rm -rf < files.txt
或者如果你运行的是Windows,使用Powershell:
Get-Content files.txt | ForEach-Object {Remove-Item $_ -Recurse -Force}
然后在macOS上删除包含的目录,例如/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/my_module-0.1.egg/。它没有文件,但是Python仍然会导入一个空模块:
>>> import my_module
>>> my_module.__file__
None
一旦删除,Python会显示:
>>> import my_module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'my_module'
从本地安装 Python setup.py安装
从本地卸载 PIP卸载mypackage
{virtualenv}/lib/python2.7/site-packages/(如果不使用virtualenv,则使用{system_dir}/lib/python2.7/dist-packages/)
删除egg文件(例如distribute-0.6.34-py2.7.egg) 如果easy-install.pth文件中有任何文件,删除相应的行(它应该是源目录或egg文件的路径)。
我想你可以打开setup.py,找到包名,然后让pip卸载它。
假设名称在'METADATA'变量中可用:
pip uninstall $(python -c "from setup import METADATA; print METADATA['name']")