mac 里两个 Python 的 site-packages 目录的区别

2017-03-09 11:52:29 +08:00
 Riverrun
刚用 mac 一段时间,平时用到 python 比较多
平时安装各种包的命令包括:
pip install xxx
sudo pip install xxx
pip install --user xxx
brew install xxx
以及一些手动安装
...

并不知道这几条命令有什么区别,但是今天突然发现有两个目录:
/usr/local/lib/python2.7/site-packages
/Library/Python/2.7/site-packages
两个目录下面各有一些安装包...

求解这两个目录有何区别?是 osx 自带的 python 和我自己安装的 python 的目录吗?

ps.我知道不应该用 sudo pip install
pps.那加上--user 有什么作用呢
ppps.看到有人说一切都应该用 virtualenv ,我以后会注意的 TAT
3226 次点击
所在节点    Python
8 条回复
julyclyde
2017-03-09 13:26:26 +08:00
/usr/local 那个是 homebrew 的吧
laoyuan
2017-03-09 13:39:01 +08:00
OSX 升级造成的,后者是 10.9 的目录
Riverrun
2017-03-09 18:17:45 +08:00
@julyclyde 我查了 brew 的目录应该是 /usr/local/Cellar
Riverrun
2017-03-09 18:18:38 +08:00
@laoyuan 诶那为什么还一直存在
patrickstar
2017-03-09 19:10:03 +08:00
确实应该采用 pyvenv 或 virtualenv, 对于 python3 来说直接可以用 pyvenv (我不清楚 mac 下是否可以啊,因为我在 mac 下用的 python 2.7 ,而在 CentOS7 下用的 python 3.5 ,就是用 pyvenv 建立的虚拟环境)

pip 最好安装到用户目录,我反正一直采用 --user 参数安装, pip install --user xxx 会把 xxx 安装到 $HOME/Library/Python 目录下,不采用 --user 参数则安装到 /Library/Python 目录去了
Riverrun
2017-03-10 00:25:05 +08:00
@patrickstar 那 /usr/local...那个是什么呢?涨知识了,谢谢
patrickstar
2017-03-10 12:22:49 +08:00
@Riverrun 我也不知道啥子原因,我猜测是不是你采用了源码安装某些 python 包,有些源码包安装的 PREFIX 缺省情况下是 /usr/local/...
Riverrun
2017-03-10 14:18:12 +08:00
@patrickstar 还有个现象, PIL 这个库我没安装过,但 /Library...下有, pycharm 能检测到,终端就不行……好凌乱,我电脑上还有 N 个 python 解释器, 2.6 2.7 3.5...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX