cloudtools / stacker

An AWS CloudFormation Stack orchestrator/manager.
http://stacker.readthedocs.io/en/stable/
BSD 2-Clause "Simplified" License
711 stars 167 forks source link

installing stacker with `python setup.py install` fails #757

Open waleedsamy opened 4 years ago

waleedsamy commented 4 years ago

I use next Dockerfile to install stacker 1.6.0

FROM python:3.6.7

ENV STACKER_VERSION=1.6.0
ENV PYTHONPATH=/stacks
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHON_EGG_CACHE=/tmp/stacker

RUN mkdir -p /stacks && pip install --upgrade pip setuptools
RUN wget -nv https://github.com/cloudtools/stacker/archive/${STACKER_VERSION}.tar.gz \
 && tar --extract --one-top-level -f ${STACKER_VERSION}.tar.gz \
 && rm -rf ${STACKER_VERSION}.tar.gz \
 && cp ${STACKER_VERSION}/stacker-${STACKER_VERSION}/scripts/docker-stacker /bin/docker-stacker \
 && cd ${STACKER_VERSION}/stacker-${STACKER_VERSION} \
 && python setup.py install \
 && rm -rf $PWD

# RUN pip uninstall -y pyyaml
# RUN pip install pyyaml
RUN stacker --version
WORKDIR /stacks
ENTRYPOINT ["docker-stacker"]
CMD ["-h"]

I got this error

Traceback (most recent call last):
  File "/usr/local/bin/stacker", line 4, in <module>
    __import__('pkg_resources').run_script('stacker==1.6.0', 'stacker')
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 666, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1471, in run_script
    exec(script_code, namespace, namespace)
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/EGG-INFO/scripts/stacker", line 4, in <module>
    __import__('pkg_resources').run_script('stacker==1.6.0', 'stacker')
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/commands/__init__.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/commands/stacker/__init__.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/commands/stacker/build.py", line 13, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/actions/build.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/actions/base.py", line 11, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/plan.py", line 11, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/stacker-1.6.0-py3.6.egg/stacker/util.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/PyYAML-5.3.1-py3.6-linux-x86_64.egg/yaml/__init__.py", line 13, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/PyYAML-5.3.1-py3.6-linux-x86_64.egg/yaml/cyaml.py", line 7, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/usr/local/lib/python3.6/site-packages/PyYAML-5.3.1-py3.6-linux-x86_64.egg/_yaml.py", line 8, in <module>
  File "/usr/local/lib/python3.6/site-packages/PyYAML-5.3.1-py3.6-linux-x86_64.egg/_yaml.py", line 7, in __bootstrap__
TypeError: exec_module() missing 1 required positional argument: 'module'

To fix it, I had to uninstall pyyaml and reinstall it again.