我正在尝试在MAC OS X 10.9的IDLE shell中使用pymongo,但我只能在终端中进行.
当我import pymongo
在IDLE中调用时,我收到以下错误:
Traceback (most recent call last): File "", line 1, in import pymongo ImportError: No module named 'pymongo'
但我在终端使用python我得到这个:
$ python Python 2.7.5 (default, Sep 12 2013, 21:33:34) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pymongo >>>
然后我可以将它与MongoDB一起使用.
我是否犯了某种安装错误?我这样做是为了学习mongoDB所以我对此比较陌生.任何帮助深表感谢.
根据您在评论中提供的信息,您似乎已在系统上安装了Python 3.3.4版本,但您已将PyMongo发行版安装到Python 2.7实例,可能是Apple提供的系统Python 2.7与OS X一起提供10.9.安装第三方软件包(或"分发")时,它通常仅与您用于安装它的Python实例相关联.有几种常见的方法可以安装这些软件包.一种方法是使用easy_install
命令,如PyMongo页面上所建议的那样.但是,该easy_install
命令还与特定的Python实例相关联.在最近的OS X版本中,Apple提供easy_install
与Pythons系统相关联并安装到系统中的命令.因此,在OS X上安装较新版本的Python以及系统Python是一个常见的陷阱,但随后使用默认easy_install
命令,结果是您想要的软件包最终安装在错误的Python版本中.一种解决方案是为easy_install
您安装的每个Python版本安装单独的版本.该easy_install
命令由setuptools
包提供.但是,最近推荐的Python安装程序工具pip
提供了更多功能easy_install
,包括卸载软件包的功能,并且在社区中得到了积极支持.
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py python3.3 get-pip.py python3.3 -m pip install pymongo python3.3 -c "import pymongo; print(pymongo.version)" -> 2.6.3
您还需要为pip
您使用的每个Python实例安装一个版本.还有其他方法可以调用,pip
但是,通过使用上面显示的方式,您可以知道正在使用的Python版本,并且您不太可能最终得到现在的情况.您还可以使用其他工具,例如virtualenv
,但是,特别是在OS X上,pip
应该足以处理大多数初始用例.