python - 在 Mac OSX 上找不到 python 模块

标签 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: 没有名为 firebase 的模块

我认为这与 python 路径有关,但在阅读了有关 python 模块安装的信息后,我对我应该看的地方不太了解......

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

当我在终端上运行 python 并输入“from firebase import firebase”时,我没有收到模块未找到错误。所以它似乎在模拟器中有效,但在我的 python 脚本中它找不到它......

有人有什么想法吗?

最佳答案

这听起来像是您安装了 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 [你想要的所有包来自 packages.txt]
    • 或者如果您需要所有这些,只需pip install -r packages.txt

您可能需要考虑设置 virtualenv 或用户站点包目录,这样您就不必保持 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 吗?答案可能是"is"的原因有很多,但如果不是,您可以在安装 Apple 2.7 的同时安装 Homebrew 3.4,它们根本不会冲突;您将获得名为 python3python3-configpip3ipython3 等的单独程序。

关于python - 在 Mac OSX 上找不到 python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25321693/

相关文章:

python - 写入 NumPy 内存映射仍会加载到 RAM 内存中

c++ - 在 c++ boost python 列表中附加整数时出错

python - 将输入与嵌入和密集层合并

macos - 热衷于保护 Vapor 代码免遭访问(任何类型的访问,甚至物理访问)?

python - 使用 pd.concat 时添加标识原始数据框的列

Excel for Mac 2016 - 另存为 CSV - 行尾错误

macos - 如何从 mac 连接到 aws Redshift db

Python 库/python2.7/lib-dynload/_io.so : undefined symbol: _PyErr_ReplaceException

python - 如何改变随机数生成器在列表中移动时的概率?

python - django 将 models.DecimalField 与表单结合起来 -> 错误 : quantize result has too many digits for current context