【问题标题】:I want to clean up my pip/homebrew/python installations我想清理我的 pip/homebrew/python 安装
【发布时间】:2019-09-14 16:21:04
【问题描述】:

我现在想清理我的 MacBook Pro 上的安装。过去,我安装了 homebrew、pip、python、nnpm 和其他一些我什至不记得的东西。

最近,我尝试安装 OpenCV 包,但遇到了一些错误,这导致我尝试更新 pip,这导致我出现了一些权限错误。环顾stackoverflow,我尝试更改所涉及文件和文件夹的一些权限:

sudo chmod -R 777 /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/EGG-INFO/
sudo chmod -R 777 /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/

现在,在运行最后一条命令并尝试更新 pip pip install --upgrade pip 后,我得到:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
    load_entry_point('pip==9.0.1', 'console_scripts', 'pip')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 565, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2696, in load_entry_point
    raise ImportError("Entry point %r not found" % ((group, name),))
ImportError: Entry point ('console_scripts', 'pip') not found

事实上,任何与 pip 命令有关的事情(例如 pip -V 现在都会给出相同的错误。

现在,我查看/usr/local/bin 并看到一大堆文件。 给你一个想法:ls /usr/local/bin 回报

2to3                    install-info            pydoc3.6
2to3-3.6                makeinfo                python3
R                       node                    python3-32
RemoteUpdateManager     nosetests               python3-config
Rscript                 nosetests-2.7           python3.6
SophosUpdate            npm                     python3.6-32
VBoxAutostart           npx                     python3.6-config
VBoxBalloonCtrl         pdftexi2dvi             python3.6m
VBoxBugReport           pip                     python3.6m-config
VBoxDTrace              pip2                    pyvenv
VBoxHeadless            pip2.7                  pyvenv-3.6
VBoxManage              pip3                    sqlite3_analyzer
VBoxVRDP                pip3.6                  sweep
VirtualBox              pod2texi                tclsh8.6
brew                    prl_convert             texi2any
chardetect              prl_disk_tool           texi2dvi
chromedriver            prl_perf_ctl            texi2pdf
easy_install-3.6        prlcore2dmp             texindex
idle3                   prlctl                  vbox-img
idle3.6                 prlexec                 vboxwebsrv
info                    prlsrvctl               wish8.6
infokey                 pydoc3

我在我的计算机上看到不同已安装程序的相同内容的多个版本(如 pip、pip2、pip2.7、pip3、pip3.6)。

.

我最终想要实现的是清理和整理这个烂摊子,并卸载我之前安装的所有与 pip、python、homebrew、nnpm 以及与这些相关的任何其他包/程序。之后,我想重新安装我再次运行 Python 所需的东西,以及安装 Python 包,如 numpy、OpenCV 等。

另外,如果有人可以帮助我弄清楚并解释这些东西之间的关系(自制软件、pip、python 等),它将帮助我更好地理解这一点,并有助于我未来下载和安装文件的做法/包。

【问题讨论】:

标签: python macos pip installation homebrew


【解决方案1】:

如果有人能帮我弄清楚并解释这些东西之间的关系是什么

homebrew 是一个MAC OS 的软件管理工具,它在centos 中的行为类似于yum,在ubuntu 中是apt。

npm 是 nodejs 的包管理工具,它的行为类似于 python 的 pip,perl 的 cpan

pip(pip2, pip2.x, pip3, pip3.x)是python的包管理工具,和homebrew没有关系。

“pip”后面的后缀表示它管理的python版本。你看到了几个pip工具,说明你已经安装了几个python版本。

例如,如果你运行

pip2.7 install requests

它将在 /Library/Python/2.7/site-packages/ 安装“请求”包,您可以像这样使用它:

python2.7
>>>import requests
>>>requests.get("https://www.google.com")

清理和整理这个烂摊子,并卸载我之前安装的所有与 pip、python、homebrew、nnpm 相关的包/程序

# remove python from you mac
# I don't use mac, but I guess the command may be like this
brew uninstall python3
brew uninstall python2

# remove python related directories
rm -r /Library/Python/2.7
rm -r /Library/Python/3.6

# remove pip and other python related executers
rm /usr/local/bin/pip*
rm /usr/local/bin/python*

# now you can reinstall python and pip
# I'm not familiar with npm, but the principle is similar. 
# You can remove the npm by brew, and remove related executers and package directories

我强烈建议你不要全局安装包。

您应该始终使用virtualenv 来管理您的python 开发环境。

【讨论】:

  • 看来我没有通过自制软件安装python。 brew list 返回:仅chromedriver icu4c node,没有 python
  • 您可以忽略卸载步骤。只需删除/Library/Python目录并重新安装python即可解决您的问题。
猜你喜欢
  • 2012-10-11
  • 1970-01-01
  • 2012-05-14
  • 2015-02-17
  • 2015-08-11
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多