【发布时间】:2021-08-29 18:04:15
【问题描述】:
我正在尝试使用 pip 安装 PyMongo Python 包。 Ansible mongodb_user module 需要它。
我正在使用以下 Ansible 脚本安装 pip 和 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 错误。
FAILED! => {"changed": false, "failed": true, "msg": "the python pymongo module is required"}
在安装了pymongo 的服务器上我得到了
$ python -c "import pymongo"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named pymongo
其他相关信息pip freeze 和pip 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,也没有使用任何虚拟环境。
【问题讨论】: