Hadron / carthage

Carthage is an Infrastructure as Code (IAC) framework
Other
7 stars 4 forks source link

carthage-new fails cause it can't locate template files #53

Closed fxdgear closed 7 months ago

fxdgear commented 8 months ago

After a fresh install of carthage python setup.py install I attempted to run carthage-new --help to view the help for this command and was greeted with a traceback:

 ❯ carthage-new --help
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mako/lookup.py", line 249, in get_template
    return self._check(uri, self._collection[uri])
KeyError: 'skeletons/layout/carthage_plugin.yml'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/nick/.local/bin/carthage-new", line 4, in <module>
    __import__('pkg_resources').run_script('carthage==0.20', 'carthage-new')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 656, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1453, in run_script
    exec(code, namespace, namespace)
  File "/home/nick/.local/lib/python3.10/site-packages/carthage-0.20-py3.10.egg/EGG-INFO/scripts/carthage-new", line 60, in <module>
    main()
  File "/home/nick/.local/lib/python3.10/site-packages/carthage-0.20-py3.10.egg/EGG-INFO/scripts/carthage-new", line 41, in main
    parser = skeleton_subparser_setup()
  File "/home/nick/.local/lib/python3.10/site-packages/carthage-0.20-py3.10.egg/carthage/skeleton.py", line 24, in skeleton_subparser_setup
    plugin_template = mako_lookup.get_template(plugin_uri)
  File "/usr/lib/python3/dist-packages/mako/lookup.py", line 262, in get_template
    raise exceptions.TopLevelLookupException(
mako.exceptions.TopLevelLookupException: Cant locate template for uri 'skeletons/layout/carthage_plugin.yml'
hartmans commented 7 months ago

As of 462de5fbf64 this should be fixed, both because setup.py no longer exists so you cannot run it, and because if you do create a distribution, the skeletons are properly included as package data.