diff --git a/setup.py b/setup.py
index dffbee26..5f1cb5d0 100644
--- a/setup.py
+++ b/setup.py
@@ -28,7 +28,6 @@ from setuptools import setup, find_packages # nopep8
from subprocess import STDOUT, check_output, CalledProcessError # nopep8
from collections.abc import Mapping # nopep8
import re # nopep8
-import os # nopep8
missing_program = '''
diff --git a/src/ocrmypdf/_pipeline.py b/src/ocrmypdf/_pipeline.py
index e114d6b6..80cd9093 100644
--- a/src/ocrmypdf/_pipeline.py
+++ b/src/ocrmypdf/_pipeline.py
@@ -33,7 +33,7 @@ from .hocrtransform import HocrTransform
from .pdfinfo import PdfInfo, Colorspace
from .pdfa import generate_pdfa_ps, encode_pdf_date
from .helpers import re_symlink, is_iterable_notstr, page_number, flatten_groups
-from .exec import ghostscript, tesseract, qpdf
+from .exec import ghostscript, tesseract
from .exceptions import UnsupportedImageFormatError, \
DpiError, PriorOcrFoundError, InputFileError, EncryptedPdfError
from . import leptonica
diff --git a/src/ocrmypdf/exec/jbig2enc.py b/src/ocrmypdf/exec/jbig2enc.py
index af4c874c..55d17ac9 100644
--- a/src/ocrmypdf/exec/jbig2enc.py
+++ b/src/ocrmypdf/exec/jbig2enc.py
@@ -15,14 +15,11 @@
# You should have received a copy of the GNU General Public License
# along with OCRmyPDF. If not, see .
-from subprocess import CalledProcessError, run, PIPE
+from subprocess import run, PIPE
from functools import lru_cache
-import sys
-import os
-import shutil
from . import get_version
-from ..exceptions import ExitCode, MissingDependencyError
+from ..exceptions import MissingDependencyError
@lru_cache(maxsize=1)
diff --git a/src/ocrmypdf/exec/pngquant.py b/src/ocrmypdf/exec/pngquant.py
index 9cedee93..0440ce30 100644
--- a/src/ocrmypdf/exec/pngquant.py
+++ b/src/ocrmypdf/exec/pngquant.py
@@ -15,15 +15,11 @@
# You should have received a copy of the GNU General Public License
# along with OCRmyPDF. If not, see .
-from subprocess import CalledProcessError, run
-from tempfile import TemporaryFile
+from subprocess import run
from functools import lru_cache
-import sys
-import os
-import shutil
from . import get_version
-from ..exceptions import ExitCode, MissingDependencyError
+from ..exceptions import MissingDependencyError
@lru_cache(maxsize=1)
diff --git a/src/ocrmypdf/exec/qpdf.py b/src/ocrmypdf/exec/qpdf.py
index 33bef631..d0c8b9c5 100644
--- a/src/ocrmypdf/exec/qpdf.py
+++ b/src/ocrmypdf/exec/qpdf.py
@@ -18,8 +18,6 @@
from subprocess import CalledProcessError, STDOUT, PIPE, run
from functools import lru_cache
-from ..exceptions import InputFileError, SubprocessOutputError, \
- EncryptedPdfError
from . import get_version
diff --git a/src/ocrmypdf/optimize.py b/src/ocrmypdf/optimize.py
index f48bf843..323a8656 100644
--- a/src/ocrmypdf/optimize.py
+++ b/src/ocrmypdf/optimize.py
@@ -17,7 +17,7 @@
from pathlib import Path
import concurrent.futures
-from collections import defaultdict, namedtuple
+from collections import defaultdict
import logging
import sys
@@ -137,10 +137,9 @@ def extract_image_generic(*, pike, root, log, image, xref, options):
# generating a PNG from compressed data
pim.as_pil_image().save(png_name(root, xref))
return xref, '.png'
- else:
- return None
- return True
+ return None
+
def extract_images(pike, root, log, options, extract_fn):
diff --git a/src/ocrmypdf/pdfa.py b/src/ocrmypdf/pdfa.py
index 8e3df597..a84b83e6 100644
--- a/src/ocrmypdf/pdfa.py
+++ b/src/ocrmypdf/pdfa.py
@@ -34,7 +34,6 @@ Ghostscript's handling of pdfmark.
from binascii import hexlify
from datetime import datetime
from pathlib import Path
-from shutil import copyfile
from string import Template
import pkg_resources
import os
@@ -42,7 +41,6 @@ import os
from libxmp.utils import file_to_dict
from libxmp import consts
-from ocrmypdf.helpers import fspath
ICC_PROFILE_RELPATH = 'data/sRGB.icc'