Mam zainstalowany Python 2.7.9 przy użyciu Homebrew na moim Macu, a Homebrew instaluje również pip. Jest też starsza, nieużywana wersja Pythona, zainstalowana domyślnie na moim Macu.Problemy z aktualizacją pip w instalacji Homebrew Python 2.7 instalacja
Problem polega na tym, że podczas próby uaktualnienia pip (przy użyciu pip install --upgrade pip
), PIP wydaje się chcieć uaktualnić wersję pip, która pochodzi ze starszą, domyślną wersją Pythona. Oto co się dzieje (po wykonaniu nową instalację Pythona 2.7.9, czyli brew remove python
następnie brew install python
):
$ pip -V
pip 6.0.7 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.7-py2.7.egg (python 2.7)
Powyższe wydaje się prawidłowe. Jednak następujące czynności:
$ pip install --upgrade pip
You are using pip version 6.0.7, however version 6.0.8 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-6.0.8-py2.py3-none-any.whl#md5=41e73fae2c86ba2270ff51c1d86f7e09
Using cached pip-6.0.8-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 6.0.7
Uninstalling pip-6.0.7:
Successfully uninstalled pip-6.0.7
Successfully installed pip-1.4.1
Dlaczego zainstalowano PIP 1.4.1? Teraz otrzymuję:
$ pip -V
pip 1.4.1 from /Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg (python 2.7)
, który wydaje się odpowiadać starszym domyślnej wersji Pythona. Kiedy próbuję ponownie uaktualnić, to nie:
$ pip install --upgrade pip
Downloading/unpacking pip from https://pypi.python.org/packages/source/p/pip/pip-6.0.8.tar.gz#md5=2332e6f97e75ded3bddde0ced01dbda3
Downloading pip-6.0.8.tar.gz (1.2MB): 1.2MB downloaded
Running setup.py egg_info for package pip
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip:
Cleaning up...
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/basecommand.py", line 134, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/commands/install.py", line 241, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/req.py", line 1294, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/req.py", line 525, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/req.py", line 1639, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/util.py", line 294, in renames
shutil.move(old, new)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 300, in move
rmtree(src)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 252, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 250, in rmtree
os.remove(fullname)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/EGG-INFO/dependency_links.txt'
Storing complete log in /Users/[me]/.pip/pip.log
Jednak pip instaluje poprawnie /usr/local/lib/python2.7/site-packages
(wersja Homebrew-przewidzianego), i nie mam żadnych widocznych problemów z wykorzystaniem pip zainstalować moduły i przy użyciu modułów. Oto wyjście which
, po wykonaniu wszystkich podanych powyżej:
$ which pip
/usr/local/bin/pip
$ which python
/usr/local/bin/python
Co się dzieje? Każda pomoc będzie doceniona.
To naprawdę wygląda dziwnie. Spróbowałbym: '/ usr/local/bin/python -E -m pip install --upgrade pip' – cel
' pip 1.4.1 z /Library/Python/2.7/site-packages/pip-1.4.1-py2. 7.egg' to ogólnosystemowa instalacja Pythona w systemie OSX, teraz Homebrew, i nie powinieneś z tym mieszać. Upewnij się, że działa binarnie 'pip' z'/usr/local/bin'. –
@MikkoOhtamaa Jestem całkiem pewien, że '/ usr/local/bin/pip' jest wykonywany, gdy uruchamiam' pip', sądząc po wyniku 'którego pip'. Czy jest to dla mnie rozsądne, aby dojść do wniosku? – dowbuen