Merge pull request #4874 from leth/editable_install

Fix setup.py to work with 'pip install -e .'
pull/4978/merge
jctanner 11 years ago
commit 15b89b45e1

@ -82,13 +82,13 @@ p = load_config_file()
active_user = pwd.getpwuid(os.geteuid())[0]
# Needed so the RPM can call setup.py and have modules land in the
# correct location. See #1277 for discussion
if getattr(sys, "real_prefix", None):
# in a virtualenv
DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')
else:
DIST_MODULE_PATH = '/usr/share/ansible/'
DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')
EDITABLE_MODULE_PATH = os.path.normpath(
os.path.join(os.path.dirname(__file__), '../../library'))
if not os.path.exists(DIST_MODULE_PATH) \
and os.path.exists(EDITABLE_MODULE_PATH):
DIST_MODULE_PATH = EDITABLE_MODULE_PATH
# check all of these extensions when looking for yaml files for things like
# group variables

@ -4,15 +4,27 @@ import os
import sys
from glob import glob
sys.path.insert(0, os.path.abspath('lib'))
def rel(f):
return os.path.join(os.path.dirname(__file__), f)
sys.path.insert(0, rel('lib'))
from ansible import __version__, __author__
from distutils.core import setup
# find library modules
from ansible.constants import DEFAULT_MODULE_PATH
dirs=os.listdir("./library/")
# Needed so the RPM can call setup.py and have modules land in the
# correct location. See #1277 for discussion
if getattr(sys, "real_prefix", None):
# in a virtualenv
DEFAULT_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/library')
else:
DEFAULT_MODULE_PATH = '/usr/share/ansible/library'
module_path = DEFAULT_MODULE_PATH
if not os.path.exists(DEFAULT_MODULE_PATH):
module_path = rel('library')
data_files = []
for i in dirs:
for i in os.listdir(module_path):
data_files.append((os.path.join(DEFAULT_MODULE_PATH, i), glob('./library/' + i + '/*')))
setup(name='ansible',
@ -23,7 +35,7 @@ setup(name='ansible',
url='http://ansibleworks.com/',
license='GPLv3',
install_requires=['paramiko', 'jinja2', "PyYAML"],
package_dir={ 'ansible': 'lib/ansible' },
package_dir={ '': 'lib' },
packages=[
'ansible',
'ansible.utils',

Loading…
Cancel
Save