diff --git a/bin/ansible-playbook b/bin/ansible-playbook index 3d05d8e29c8..91fd279b62a 100755 --- a/bin/ansible-playbook +++ b/bin/ansible-playbook @@ -25,6 +25,14 @@ import sys import os import stat +# Augment PYTHONPATH to find Python modules relative to this file path +# This is so that we can find the modules when running from a local checkout +# installed as editable with `pip install -e ...` or `python setup.py develop` +local_module_path = os.path.abspath( + os.path.join(os.path.dirname(__file__), '..', 'lib') +) +sys.path.append(local_module_path) + import ansible.playbook import ansible.constants as C import ansible.utils.template diff --git a/lib/ansible/constants.py b/lib/ansible/constants.py index fb3e2420e95..e1a631e3237 100644 --- a/lib/ansible/constants.py +++ b/lib/ansible/constants.py @@ -94,6 +94,14 @@ if getattr(sys, "real_prefix", None): else: DIST_MODULE_PATH = '/usr/share/ansible/' +# Look for modules relative to this file path +# This is so that we can find the modules when running from a local checkout +# installed as editable with `pip install -e ...` or `python setup.py develop` +local_module_path = os.path.abspath( + os.path.join(os.path.dirname(__file__), '..', '..', 'library') +) +DIST_MODULE_PATH = os.pathsep.join([DIST_MODULE_PATH, local_module_path]) + # check all of these extensions when looking for yaml files for things like # group variables -- really anything we can load YAML_FILENAME_EXTENSIONS = [ "", ".yml", ".yaml", ".json" ]