pip install 失败

最近换了一台电脑开发,在安装python的模块的时候出现了权限问题。在这里记录下解决方案。

我的是Mac电脑,系统是 High Sierra(10.13.1)

问题 一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
...

解决: 关闭 sip 机制,重启电脑,按住 cmd +R 让电脑进入系统恢复模式,找到终端输入

1
$csrutil disable

当然,在关闭电脑之前你也可以通过 csrutil status来查看当前的sip状态

问题二

1
IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/ipython_genutils/tempdir.py'

这是没权限, 执行

1
sudo pip install ipython

问题三

1
2
3
4
5
6
Requirement already satisfied: ipython in /Library/Python/2.7/site-packages
Requirement already satisfied: traitlets>=4.2 in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: setuptools>=18.5 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from ipython)
Requirement already satisfied: simplegeneric>0.8 in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: backports.shutil-get-terminal-size; python_version == "2.7" in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: pygmen

这种问题是你已经安装过,需要忽略

1
sudo pip install --upgrade ipython --ignore-installed six

问题 四

1
2
3
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/_vendor/requests/packages/urllib3/response.py", line 246, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

这个科学上网就好了。

这些方法不一定好使,当时目前我遇到的情况通过这几步都已经解决。再遇到问题再继续解决。当然也可以通过虚拟机的方式。

-------------本文结束谢谢欣赏-------------
Alice wechat