Я выполняю некоторый код python в контейнере docker, определяемый как:
FROM continuumio/anaconda2:5.3.0
USER root
RUN apt-get install git
ENV AWS_DEFAULT_REGION us-east-2
# Copying code in container
RUN mkdir /warburg-investigation
COPY . /warburg-investigation
RUN apt-get update
# Installing necessary packages
RUN pip install panaxea
# Launching
ENV PYTHONPATH "${PYTHONPATH}:/warburg-investigation"
RUN cd warburg-investigation; python Main.py --pysparse
В одном из моих сценариев импорт matplotlib как:
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use("Agg")
plt.switch_backend("agg")
Причины :
File "/opt/conda/lib/python2.7/site-packages/matplotlib/backends/qt_compat.py", line 158, in <module>
raise ImportError("Failed to import any qt binding")
ImportError: Failed to import any qt binding
Принимая во внимание как:
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
plt.switch_backend("agg")
Любой совет, почему? Последний работает, но не пройдет проверку PEP8, поскольку он вызывает:
E402 module level import not at top of file