我想清理我的pip / homebrew / python安装

时间:2019-04-25 09:18:14

标签: python macos pip install homebrew

我现在想清理MacBook Pro上的安装。过去,我已经安装了自制软件,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 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所需的东西,以及安装numpy,OpenCV等Python软件包。

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

1 个答案:

答案 0 :(得分:1)

  

如果有人可以帮助我清理并解释这些事物之间的关系

homebrew是用于MAC OS的软件管理工具,其行为类似于centos中的yum,而在ubuntu中则类似。

npm是用于nodejs的软件包管理工具,其行为类似于python的pip,perl的cpan

pip(pip2,pip2.x,pip3,pip3.x)是python的软件包管理工具,与自制软件无关。

“ 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开发环境。