python - pymongo 的安装有效但在 python3 中导入时失败

标签 python ubuntu python-3.x pymongo

我目前正在运行 Ubuntu 12.10 并试图让 pymongo 在 python3 下正常工作。我尝试过的事情:

1. apt-get install python-pymongo
2. python setup.py install #from git source
3. easy_install pymongo
4. easy_install pymongo3
5. pip install pymongo
6. pip install pymongo3 #needed a fix in the download script

我还尽可能地在安装之间移除和清理。

如果我导入 pymongo:

In [1]: import pymongo
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-ec8fdd1cd630> in <module>()
----> 1 import pymongo

/usr/local/lib/python3.2/dist-packages/pymongo-2.4.2_-py3.2-linux-x86_64.egg/pymongo/__init__.py in <module>()
     55     return '.'.join(map(str, version_tuple))
     56 
---> 57 version = get_version_string()
     58 """Current version of PyMongo."""
     59 

/usr/local/lib/python3.2/dist-packages/pymongo-2.4.2_-py3.2-linux-x86_64.egg/pymongo/__init__.py in get_version_string()
     51 
     52 def get_version_string():
---> 53     if isinstance(version_tuple[-1], basestring):
     54         return '.'.join(map(str, version_tuple[:-1])) + version_tuple[-1]
     55     return '.'.join(map(str, version_tuple))

NameError: global name 'basestring' is not defined

错误同pymongo FAQ但对我来说,我身在何处并不重要。

我的理论是python2版本的pymongo误加了python3

最佳答案

以防我将来需要它。

python3在ubuntu13中安装pymongo

(1)不要直接在ubuntu软件中心安装pymongo;它们适用于旧版本的 python(版本 3 之前) enter image description here

如果你安装了它,你将无法在 python3 中使用 pymongo: enter image description here

(2)您应该为 python 3 安装特定的 python 包安装程序:python3-pip enter image description here

(3)使用提供的pip-3.3命令python3-pip包,在unbuntu终端运行如下命令安装pymongo:

pip-3.3 install pymongo

如果没有 super 用户权限,用sudo运行

sudo pip-3.3 install pymongo

(4)那么安装python3中可以使用的pymongo应该不难。要验证它,请输入 IDLE:

enter image description here

(5)在终端也可以轻松安装pymongo3:

pip-3.3 install pymongo3

但不需要安装它,因为它的所有功能现在都包含在当前的 pymongo 包中。

关于python - pymongo 的安装有效但在 python3 中导入时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14879527/

相关文章:

python - 错误 : The expanduser ('~' ) cannot be added to dirs. 'xxx' :'xxx"

python - python中快速排序的实现和交换枢轴值

python - 通过平均前一行值来填充缺失值

python - 类型错误 : 'Food' object does not support indexing

python - Python print 使用哪个函数?

python - 我如何检测最大值。递归深度超出 Python 中的异常?

python - 如何使用 Shopify Python API RecurringApplicationCharge

php - 无法为 Linux amd64 加载 native 库 'libnative-platform.so'

linux - 这个表达式的计算结果是什么? (bash shell 脚本)

linux - 使用当前 bash 终端的端口