当我运行时:
sudo pip install ipython
我得到以下错误
不允许执行'/System/Library/Frameworks/Python.framework/Versions/2.7/share‘操作:
OSError: Errno: 1
执行的最后一个命令尝试创建上面给出的目录。
此外,以下命令无法安装iPython,并且不会提供任何错误。
sudo pip install --user python
(我使用的是Mac OS X El Capitan,以防这个操作系统上的其他人看到同样的问题。)
发布于 2015-10-08 09:02:00
告诉sudo pip install
的指令本质上是错误的。
如果有任何教程告诉你应该做sudo pip
,那么请针对这个包提交一个bug。作者正在贬低Python社区,因为时间已经证明sudo pip
是一种失败的实践。
OSX El Capitan introduced a mechanisms to prevent damaging the operating system files。/System/Library/Frameworks/Python.framework/Versions/2.7/share
是受保护的位置之一。普通用户没有理由在中放入或写入任何文件。这是因为操作系统本身依赖于这些文件,而sudo pip
会无条件地覆盖它们。通常情况下,不好的事情不会发生,但机会是存在的。苹果希望保护他们的操作系统用户不会意外地破坏他们的安装。
相反,您需要在本地将Python包安装到用户的主文件夹中,如IPython。最简单的方法是创建一个虚拟环境,激活它,然后在虚拟环境中运行pip。
示例:
cd ~ # Go to home directory
virtualenv my-venv
source my-venv/bin/activate
pip install IPython
更多信息
或者,你应该能够做pip install --user
。但是,同样,不需要,您需要手动设置PATH
环境变量。
发布于 2015-11-01 23:14:13
我也有同样的问题,但是使用easy_install "module"
为我解决了这个问题。
我不知道为什么,但是easy_install和pip使用不同的安装位置,pip选择了正确的位置。
编辑:没有重新检查,但由于注释;不同的(OSX和brew安装的)安装似乎相互干扰,这就是为什么他们提到的工具确实指向不同的位置(因为它们属于不同的安装)。我知道通常这些工具从一个安装点指向相同的文件夹。
发布于 2015-11-20 08:44:36
https://stackoverflow.com/questions/33004708
复制相似问题