为什么不同的python模块安装在不同的位置?

时间:2016-12-13 22:33:08

标签: python python-2.7 pip

我发现了一些奇怪的东西,并且不知道如何修复它。我发现了一个解决方法的一大块但是如果我能帮助的话,我宁愿不这样做。

我正在研究MBP 10.9.5。我将pip从8.0.1升级到9.0.1。然后我安装了三个模块(如果算上所需的模块,则为四个)

  • image
  • 枕头
  • py2app(必需的macholib,自动安装)

安装模块后,我会在它们上运行pip show以查看位置。

出于某种原因,图像,枕头和macholib都安装在

/usr/local/lib/python2.7/site-packages

而py2app安装在

/Library/Python/2.7/site-packages

我们知道为什么python会拆分安装模块的地方吗?解决方法是进入/usr/local/lib/python2.7/site-packages并将这些模块的目录复制到/Library/Python/2.7/site-packages。但是,我希望尽可能避免这样做,并告诉pip将所有内容安装在一个位置而不是任何地方。

找不到pip的配置文件(如果需要,我可以列出我看到的目录),如果有隐藏的秘密配置文件,那么就不能解释为什么pip正在将模块文件安装到多个位置。 / p>

有谁能告诉我为什么会这样,以及如何阻止它发生?

由于

1 个答案:

答案 0 :(得分:1)

如果启动python时/usr/local/lib/python2.7/site-packages中没有sys.path,则可以在python库目录中找到名为sitecustomize.py的文件,并添加(作为超级用户)以下行< / p>

import site
site.addsitedir('/usr/local/lib/python2.7/site-packages')

在这个文件中。它应该解决问题。

相关问题