首页 > Mac 上 python 的site-packages目录出现了两个?

Mac 上 python 的site-packages目录出现了两个?

最近我的mac上pip install <something>需要用sudo. 以前是不需要的.
最近动过virtualenv,pyenv跟pycharm.
shell里面用python --version得到的结果是2.7.9也就是homebrew的.

现在系统里有两个site-packages. 里面都有很多modules

/usr/local/lib/python2.7/site-packages
/Library/Python/2.7/site-packages

因为pycharm上一些系统的包跳转需要使用/usr/bin/python做解释器才行. 所以当初动了一下.

现在, 我要怎么做才能让pip不需要sudo, 新pip install的包装到homebrew的site-packages下面(/usr/local/lib/python2.7/site-packages)


先敲入 type python 确认看看 python bin 文件路径。

/usr/bin/python 可以建个软连接到 /usr/local/bin/python 这样就不必新装一个 python。


现在, 我要怎么做才能让pip不需要sudo

加--user, 比如pip install scipy --user
这样子虽然不会装到/usr/local/lib/python2.7/site-packages, 但至少是可见的.

针对有两个python的问题, 鉴于你使用mac, 用port来管理python比brew要方便.
比如安装多个版本: port install python24 python27
选择python27pip: port select --set pip pip27\
详见这里https://truongtx.me/2014/02/25/mac-os-install-python-pip-virtualenv-us...


  1. pip需要sudo是因为你添加的包需要用到系统权限,比如panda,numpy。我在linux下,同样pip安装包,有些不需要sudo,有些是需要sudo的。是要看你的包安装的位置或者安装该包时需要调用的系统命令来决定的。

  2. mac自带了一个python,homebrew安装的python和系统这个是在不同位置的,所以会有两个python。

【热门文章】
【热门文章】