在Mac OSX上找不到python模块

时间:2014-08-15 05:35:03

标签: python macos python-2.7 firebase

我安装了一个名为python-firebase的python模块,我使用命令sudo pip install python-firebase在我的Mac OSX 10.8.5上安装了pip,当我运行pip list时,我看到它显示为python -firebase(1.2)但是当我运行我的python脚本时,我得到了

ImportError: no module named firebase

我认为这与python路径有关,但在阅读了python模块安装后,我不应该更明智地看待...

我正在〜/ Documents / Development / ProjectX开发我的python,它说它在/usr/local/lib/python2.7/site-packages/firebase / *

安装了python-firebase

当我在终端上运行python并输入`from firebase import firebase'我没有找到模块未找到错误。所以它似乎在模拟器中起作用,但在我的python脚本中它无法找到它......

任何有想法的人?

1 个答案:

答案 0 :(得分:4)

听起来你已经安装了Homebrew Python 2.7,你实际上并不需要它,而且你宁愿不处理有两个相互矛盾的Python 2.7副本。在这种情况下,这是你应该做的:

  • pip --list > packages.txt。这会为您提供已安装的所有软件包的列表。
  • brew unlink python
  • sudo easy_install pip && sudo pip install --upgrade setuptools
  • 在文本编辑器中打开packages.txt
  • sudo pip install [all the packages you want from packages.txt]
    • 如果你想要所有这些,只需pip install -r packages.txt

您可能需要考虑设置virtualenv或用户site-packages目录,这样您就不必保留sudo所有内容。特别是如果你习惯了Homebrew。

使用brew unlinkbrew uninstall将获得额外的Python 2.7,因此只有预先安装的Apple版本可以访问,从而解决您的问题。但是对于brew unlink,它实际上并没有删除任何内容,因此如果您改变主意,可以使用brew link python将其恢复。 (或者,如果你以后确定你永远不想回去,你可以随时brew uninstall python。)

此外,在任何其他情况下,这是获取pip的错误方法,但对于Apple以10.7到10.9分发的Python版本,它似乎效果最好。对于setuptools的更高版本,这可能会发生变化。

最后,最后一点:你真的需要Python 2.7而不是3.x吗?答案可能是“是”有各种原因,但如果没有,你可以在Apple 2.7旁边安装一个Homebrew 3.4,它们根本不会发生冲突;您将获得名为python3python3-configpip3ipython3等的单独程序。