[英]installation of pymongo works but fails at import in python3
我目前正在運行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常見問題解答相同,但對我而言,無論我在哪里都無所謂。
我的理論是pymongo的python2版本錯誤地添加了python3。
如果我將來需要它。
在ubuntu13中為python3安裝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包中。
用pip3安裝對我有用
sudo pip3 install pymongo
要使用pip3,作為先決條件必須安裝pip的Python 3副本,可以按如下方式完成
sudo apt-get install python3-pip
從https://pypi.python.org/pypi/pymongo#downloads下載最新的pymongo(3.4.0)
解壓縮文件: tar -zxvf pymongo-3.4.0.tar.gz
注意:當然,您需要在提取的pymongo目錄中觸發上述命令。 您可能還需要以root身份運行它,否則您將獲得寫入權限問題。 我正在使用CentOS 7,它像微風一樣工作!
它應該合作
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.