ansible_runner を使用しようとしていますが、run() で実行する前に Python インタープリターのバージョンを変更できるかどうかわかりません。
私はPythonプロジェクトを作成し、SSH経由でリモートインタープリターを介して実行しています。このプロジェクトには、私が使用する仮想環境があります。コードを実行すると、正しい環境で期待どおりに動作しますが (以下の最初の 2 行を参照)、 ansible_runner.run(stuffhere)関数を使用しようとすると、Python3.7 を使用しているようです。
ご想像のとおり、私の環境には既に jinja2 がインストールされています (グローバルにも)。そして、「/usr/local/bin/ansible-playbook」パスは私の環境のものではありません。
これは私の出力エラーです:
# Various print before calling runner
python project version : 3.10.1 (main, Dec 10 2021, 14:03:29) [GCC 8.3.0]
Ansible version : 2.12.1
# Runner execution
Traceback (most recent call last):
File "/usr/local/bin/ansible-playbook", line 63, in <module>
import ansible.constants as C
File "/usr/local/lib/python3.7/dist-packages/ansible/constants.py", line 12, in <module>
from jinja2 import Template
ModuleNotFoundError: No module named 'jinja2'
ランナーに仮想環境を使用するように明示的に指示できるかどうかは誰にもわかりませんか?
あなたの提案に感謝します