Python 3.x Ansible playbook未下载python第三方模块
我不熟悉ansible。我正在编写playbook来运行我的python脚本,它有几个pip模块。除了熊猫,我可以让所有模块都使用这个剧本 这是我的剧本Python 3.x Ansible playbook未下载python第三方模块,python-3.x,pandas,ansible,Python 3.x,Pandas,Ansible,我不熟悉ansible。我正在编写playbook来运行我的python脚本,它有几个pip模块。除了熊猫,我可以让所有模块都使用这个剧本 这是我的剧本 ---- - name: Run on remote host hosts: local tasks: - name: run python script locally command: python test.py 有了这个剧本,我发现了一个错误——没有找到熊猫模块 这是我的pip模块 import requests
----
- name: Run on remote host
hosts: local
tasks:
- name: run python script locally
command: python test.py
有了这个剧本,我发现了一个错误——没有找到熊猫模块
这是我的pip模块
import requests
import json, csv, os
from requests.auth import HTTPBasicAuth
import ast
import argparse
import pandas as pd
如果我尝试使用ansible脚本安装pandas,我会得到一个错误-
fatal: [0.0.0.1]: FAILED! => {"changed": true, "cmd": ["pip3", "install", "pandas"],
"delta": "0:00:05.879611", "end": "2020-10-29 17:22:28.710872", "msg": "non-zero return
code", "rc": 2, "start": "2020-10-29 17:22:22.831261", "stderr": "Exception:\nTraceback
(most recent call last):\n File \"/usr/lib/python3.6/site-packages/pip/basecommand.py\",
line 215, in main\n status = self.run(options, args)\n File \"/usr/lib/python3.6/site-
packages/pip/commands/install.py\", line 365, in run\n
strip_file_prefix=options.strip_file_prefix,\n File \"/usr/lib/python3.6/site-
packages/pip/req/req_set.py\", line 789, in install\n **kwargs\n File
\"/usr/lib/python3.6/site-packages/pip/req/req_install.py\", line 854, in install\n
strip_file_prefix=strip_file_prefix\n File \"/usr/lib/python3.6/site-
packages/pip/req/req_install.py\", line 1069, in move_wheel_files\n
strip_file_prefix=strip_file_prefix,\n File \"/usr/lib/python3.6/site-
packages/pip/wheel.py\", line 345, in move_wheel_files\n clobber(source, lib_dir, True)\n
File \"/usr/lib/python3.6/site-packages/pip/wheel.py\", line 316, in clobber\n
ensure_dir(destdir)\n File \"/usr/lib/python3.6/site-packages/pip/utils/_init.py\", line
83, in ensure_dir\n os.makedirs(path)\n File \"/usr/lib64/python3.6/os.py\", line 220,
in makedirs\n mkdir(name, mode)\nPermissionError: [Errno 13] Permission denied:
'/usr/local/lib/python3.6/site-packages/pytz'", "stderr_lines": ["Exception:", "Traceback
(most recent call last):", " File \"/usr/lib/python3.6/site-packages/pip/basecommand.py\",
line 215, in main", " status = self.run(options, args)", " File
\"/usr/lib/python3.6/site-packages/pip/commands/install.py\", line 365, in run", "
strip_file_prefix=options.strip_file_prefix,", " File \"/usr/lib/python3.6/site-
packages/pip/req/req_set.py\", line 789, in install", " **kwargs", " File
\"/usr/lib/python3.6/site-packages/pip/req/req_install.py\", line 854, in install", "
strip_file_prefix=strip_file_prefix", " File \"/usr/lib/python3.6/site-
packages/pip/req/req_install.py\", line 1069, in move_wheel_files", "
strip_file_prefix=strip_file_prefix,", " File \"/usr/lib/python3.6/site-
packages/pip/wheel.py\", line 345, in move_wheel_files", " clobber(source, lib_dir,
True)", " File \"/usr/lib/python3.6/site-packages/pip/wheel.py\", line 316, in clobber", "
ensure_dir(destdir)", " File \"/usr/lib/python3.6/site-packages/pip/utils/init_.py\", line
83, in ensure_dir", " os.makedirs(path)", " File \"/usr/lib64/python3.6/os.py\", line
220, in makedirs", " mkdir(name, mode)", "PermissionError: [Errno 13] Permission denied:
'/usr/local/lib/python3.6/site-packages/pytz'"], "stdout": "Collecting pandas\n Downloading
https://files.pythonhosted.org/packages/a2/21/e10d65222d19a2537e3eb0df306686a9eabd0
8b3c98dd120e43720bf802d/pandas-1.1.3-cp36-cp36m-manylinux1_x86_64.whl (9.5MB)\nRequirement
already satisfied: numpy>=1.15.4 in /usr/local/lib64/python3.6/site-packages (from
pandas)\nRequirement already satisfied: python-dateutil>=2.7.3 in
/usr/local/lib/python3.6/site-packages (from pandas)\nCollecting pytz>=2017.2 (from
pandas)\n
如何在ansible中使用所需的python版本并运行像pandas这样的python第三方模块?
有没有办法为ansible创建虚拟环境以运行所需的python版本和第三方模块
坚持几天,任何帮助都将不胜感激。
pip
模块有一个方便的说明:“如果virtualenv不存在,它将在安装软件包之前创建”