2016-09-16 114 views
0

我试图安装PyMongo Python包与pip。它需要Ansible mongodb_user moduleImportError:没有名为pymongo的模块

我安装点子并与以下Ansible脚本pymongo:

- hosts: tag_Name_Development 
    become: true 
    remote_user: user 
    tasks: 
    - name: install python tools 
     yum: name={{ item }} state=latest 
     with_items: 
     - gcc 
     - python-devel 
     - python-setuptools 
     - python-pip 

    - name: install pymongo 
     pip: name=pymongo state=latest 

    - name: add admin user to mongo 
     mongodb_user: 
     login_port: 27017 
     database: admin 
     name: admin 
     password: "{{ mongodb.admin_pass }}" 
     roles: userAdminAnyDatabase 
     state: present 

成功安装的我获得以下Ansible错误的工具后。在安装pymongo

FAILED! => {"changed": false, "failed": true, "msg": "the python pymongo module is required"}

在服务器上,我得到

$ python -c "import pymongo" 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
ImportError: No module named pymongo 

其他相关信息pip freezepip list

$ python-pip freeze 
backports.ssl-match-hostname==3.4.0.2 
ordereddict==1.2 
pymongo==3.3.0 

$ python-pip list 
backports.ssl-match-hostname (3.4.0.2) 
ordereddict (1.2) 
pip (6.1.1) 
pymongo (3.3.0) 
setuptools (12.2) 

,并加载路径

$ python 
Python 2.7.10 (default, Jul 20 2016, 20:53:27) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> sys.path 
['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/local/lib64/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages', '/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages', '/usr/lib64/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] 

还有很多其他问题与这个问题有关,但没有一个帮助。我没有安装bson,我没有使用任何虚拟环境。

回答

0

原来,我有两个版本的python安装(2.6和2.7)。虽然默认是2.7,我Ansible脚本2.6文件夹/usr/local/lib64/python2.6/site-packages

下安装pymongo我发现了运行$ python-pip show pymongo$ python2.6 -c "import pymongo"按预期工作。

我改变了我的Ansible脚本安装python27-pip而不是python-pip,它开始很好地工作。

相关问题