我已经安装了一个Python包python setup.py install
。
如何卸载呢?
我已经安装了一个Python包python setup.py 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}
然后还删除包含的目录,如/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/my_module-0.1.egg/
上macOS
。 它有没有文件,但是Python仍然会导入空模块:
>>> import my_module
>>> my_module.__file__
None
一旦删除,巨蟒显示:
>>> import my_module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'my_module'
对我来说,下面主要作品:
已安装点子,比如:
$ easy_install pip
检查,如何你安装的软件包但从PIP点命名为:
$ pip freeze
这应列出所有软件包的名称,你已经安装了(并且这是由PIP检测)。 名称可以是一段很长,然后用包的只是名字被显示在后#egg=
。 您也可以在大多数情况下,忽视了部分版本(无论如下==
或-
然后卸载的软件包:
$ pip uninstall package.name.you.have.found
如果询问有关删除软件包确认,那么你是幸运的家伙,它会被删除。
PIP应能检测所有的包,这是由PIP安装。 还应检测出大部分通过的easy_install或setup.py安装的软件包,但是这可能在某些罕见的情况下失败。
这是我与包本地测试命名为实际样品ttr.rdstmc
在MS Windows。
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
ttr.utcutils==0.1.1dev
$ python setup.py develop
.....
.....
Finished processing dependencies for ttr.rdstmc==0.0.1dev
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
-e hg+https://vlcinsky@bitbucket.org/vlcinsky/ttr.rdstmc@d61a9922920c508862602f7f39e496f7b99315f0#egg=ttr.rdstmc-dev
ttr.utcutils==0.1.1dev
$ pip uninstall ttr.rdstmc
Uninstalling ttr.rdstmc:
c:\python27\lib\site-packages\ttr.rdstmc.egg-link
Proceed (y/n)? y
Successfully uninstalled ttr.rdstmc
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
ttr.utcutils==0.1.1dev
所有的东西上面写的仍然适用,反正现在有可用的小的修改。
最近的Python版本配备了一个包ensurepip
允许离线时当即便安装PIP:
$蟒蛇-m ensurepip --upgrade
在某些系统(如Debian杰西),这是不可用(以防止破坏系统的Python安装)。
grep
或find
上面的例子假设,你有grep
安装。 我(当时我有微软Windows在我的机器上)装机设置的Linux工具(包括grep的)。 另外,使用本机的MS Windows find
或者干脆忽略筛选和检测Python包的时间长一点列表中找到名称。
#1的答案有问题:
xargs
命令将失败,并删除任何文件/它匹配单个单词目录。 -r
在rm -rf
是不必要的,在最坏的情况可能会删除你不想要的东西。 相反,类Unix:
sudo python setup.py install --record files.txt
# inspect files.txt to make sure it looks ok. Then:
tr '\n' '\0' < files.txt | xargs -0 sudo rm -f --
和Windows:
python setup.py bdist_wininst
dist/foo-1.0.win32.exe
此外还有一些与卸载无法解决的问题setup.py
安装,不会打扰你在一个典型的案例。 对于一个更完整的答案,请参阅此维基页面:
https://ofswiki.org/wiki/Uninstalling_setup.py_install
首先记录您所安装的文件。 您可以重复此命令,即使您以前运行setup.py install
:
python setup.py install --record files.txt
当你想卸载你可以:
sudo rm $(cat files.txt)
这工作,因为rm命令需要文件的空格分隔的列表中删除,你的安装记录就是这样一个列表。
现在蟒蛇给你安装选择pip
在安装过程中(我在Windows,和至少蟒蛇这样做的Windows!)。 考虑到你当初选择安装pip
安装蟒的过程中(你实际上没有选择,因为它是默认值), pip
已经为您安装。 然后,在类型pip
在命令提示符下,你应该会看到一个帮助上来。 你可以找到必要的使用说明那里。 如pip list
显示已安装的软件包列表。 您可以使用
pip uninstall package_name
卸载你不想再任何包。 阅读更多这里(PIP文档) 。
偷懒的方法:简单地从Windows安装菜单中卸载(如果你使用的是Windows),或在rpm命令,提供创建分发包后第一次重新安装。
例如,
python setup.py bdist_wininst
dist/foo-1.0.win32.exe
(“foo”的是当然的一个例子)。
转到您的Python包目录,并删除您.egg文件,如:在Python 2.5中(Ubuntu的):/usr/lib/python2.5/site-packages/
在python 2.6(Ubuntu的):/usr/local/lib/python2.6/dist-packages/
也许你可以做到这一点作为一种替代方案: -
1)获取Python版本 -
[linux machine]# python
Python 2.4.3 (#1, Jun 18 2012, 14:38:55)
- >上面的命令给你目前的Python版本是2.4.3
2)获取蟒蛇的安装目录 -
[linux machine]# whereis python
python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.5 /usr/include/python2.4 /usr/share/man/man1/python.1.gz
- >从上面的命令,你可以得到的安装目录是- /usr/lib/python2.4/site-packages
3)从这里你可以删除软件包和蟒蛇蛋文件
[linux machine]# cd /usr/lib/python2.4/site-packages
[linux machine]# rm -rf paramiko-1.12.0-py2.4.egg paramiko-1.7.7.1-py2.4.egg paramiko-1.9.0-py2.4.egg
这为我工作..我能卸载包这是困扰我:)
我想你可以打开setup.py,找到包的名字,然后问点子卸载它。
假设名在“元数据”变量可用:
pip uninstall $(python -c "from setup import METADATA; print METADATA['name']")
不完全回答这个问题,但一些帮助我每一天:
安装你的包带
pip install .
这使包在$HOME/.local
。 与卸载
pip uninstall <package_name>
扩展什么马丁说,记录安装输出和一个小的bash脚本的伎俩相当不错。 下面是我做什么?
for i in $(less install.record);
sudo rm $i;
done;
和急。 卸载。
这可能是更好地使用bash读取命令,如下面的删除相关文件:
sudo python setup.py install --record files.txt
sudo bash -c "cat files.txt | xargs rm -rf"
我曾在过去不慎在我的全球环境中的一些点运行“的Python setup.py安装”,并且有很大的困难卸载。 这些解决方案并没有帮助。 “PIP卸载”,没有一起工作“无法卸载‘的Splunk-appinspect’。没有找到文件来卸载。” “须藤PIP卸载”没有工作“无法卸载要求的Splunk-appinspect,不安装”。 我试图卸载点子,删除PIP缓存,搜索自己的硬盘驱动器包,等...
“PIP秀”最终导致我的解决方案,“位置:”是指向一个目录,和重命名该目录导致包装从PIP的列表中删除。 我改名目录回来,并没有在PIP的名单再次出现了,现在我可以重新安装包中的virtualenv。
我跑了python setup.py install
在我的PyCharm一次,所有的软件包安装到我的畅达基础环境。 后来,当我要删除所有这些软件包, pip uninstall
不起作用。 我不得不手动从/anaconda3/lib/python3.7/site-packages删除:(
因此,我不明白为什么他们setup.py使用写requirements.txt文件,而不是原因。 要求文件可以用于安装在虚拟环境中包,不会乱用系统Python包。