5

我目前正在运行 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相同,但对我来说,我所在的位置并不重要。

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

4

4 回答 4

1

以防我将来需要它。

python3在ubuntu13中安装pymongo

(1)不要直接在ubuntu软件中心安装pymongo;它们适用于旧版本的 python(版本 3 之前) 在此处输入图像描述

如果你安装它,你将无法在 python3 中使用 pymongo: 在此处输入图像描述

(2)你应该为python 3安装一个特定的python包安装程序:python3-pip 在此处输入图像描述

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

pip-3.3 install pymongo

如果您没有超级用户权限,请使用 sudo 运行它

sudo pip-3.3 install pymongo

(4)那么你安装pymongo应该没有什么困难了,它可以在python3中使用。要验证它,请输入 IDLE:

在此处输入图像描述

(5)您也可以在终端中毫无困难地安装pymongo3:

pip-3.3 install pymongo3

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

于 2013-05-30T21:23:38.953 回答
1

使用 pip3 安装对我有用

sudo pip3 install pymongo

要使用 pip3,作为先决条件,必须安装 pip 的 Python 3 副本,可以按如下方式完成

sudo apt-get install python3-pip
于 2014-10-16T13:18:04.880 回答
1
  1. 从https://pypi.python.org/pypi/pymongo#downloads下载最新的 pymongo(3.4.0)

  2. 解压文件:tar -zxvf pymongo-3.4.0.tar.gz

  3. 通过触发运行安装:python3 setup.py install

注意:当然,您需要在提取的 pymongo 目录中触发上述命令。您可能还需要以 root 身份运行它,否则您将遇到写权限问题。我正在使用 CentOS 7,它的工作就像微风一样!

于 2017-02-08T11:13:29.113 回答
0

它应该与

sudo python3.2 setup.py install

但它不是出于某种原因

最好通过以下方式下载分布式和 pip 的源代码(并按此顺序安装它们)

sudo python3 setup.py install #distributed
sudo python3 setup.py install #pip
sudo pip-3.2 install pymongo
于 2013-02-19T09:38:34.320 回答