Я хочу очистить мои установки pip / homebrew / python - PullRequest
1 голос
/ 25 апреля 2019

Я хочу очистить мои установки на моем 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 и т. д.

Кроме того, если кто-нибудь может помочь мне разобратьсяи объяснитьв связи между этими вещами (homebrew, pip, python и т. д.), это поможет мне лучше понять это и поможет в моей будущей практике загрузки и установки файлов / пакетов.

1 Ответ

2 голосов
/ 25 апреля 2019

если бы кто-нибудь мог помочь мне прояснить и объяснить, каковы отношения между этими вещами

homebrew - это инструмент управления программным обеспечением для MAC OS, он ведет себя как yum in centos, apt в ubuntu.

npm - инструмент управления пакетами для nodejs, он ведет себя как pip для python, cpan для perl

pip (pip2, pip2.x, pip3, pip3.x) - это инструмент управления пакетами для python, не имеющий отношения к homebrew.

Суффикс после «pip» указывает, какой версией Python он управляет. Вы видели несколько пипсов, которые указывают на то, что вы установили несколько версий 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.

...