我现在想清理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等),那么它将有助于我更好地理解这一点,并有助于我以后的下载和安装文件/包。
答案 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开发环境。