diff --git a/build-py-project-and-run-examples.sh b/.ci/examples-funcs.sh
similarity index 100%
rename from build-py-project-and-run-examples.sh
rename to .ci/examples-funcs.sh
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a2b69d81e19f72af569deeed1acb843190ce4f8e..5a9175dcc561af0f96bdfa85fda31951e9eb8a12 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -95,16 +95,16 @@ jobs:
         -   uses: actions/checkout@v2
         -   name: "Main Script"
             run: |
-                EXTRA_INSTALL="matplotlib ipykernel nbconvert"
                 curl -L -O https://tiker.net/ci-support-v0
                 . ./ci-support-v0
                 build_py_project_in_conda_env
+                conda install matplotlib ipykernel nbconvert
 
                 install_ispc
 
                 export PYOPENCL_TEST=portable:pthread
 
-                . ./build-py-project-and-run-examples.sh
+                . ./.ci/examples-funcs.sh
                 run_py_examples
                 run_ipynb_examples
                 run_floopy_examples
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 721f90b58bb8511b5248e5352806f5d33844c721..71a1468caf4e119a6db544cc4767b0a52739c261 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -112,16 +112,16 @@ Pytest POCL Examples:
   stage: test
   script: |
     export PYOPENCL_TEST=portable:pthread
-    export EXTRA_INSTALL="pybind11 numpy mako pyvisfile matplotlib ipykernel nbconvert"
+    export EXTRA_INSTALL="pybind11 numpy mako"
 
     curl -L -O https://tiker.net/ci-support-v0
     . ./ci-support-v0
 
     build_py_project_in_venv
-
+    pip install matplotlib ipykernel nbconvert
     install_ispc
 
-    . ./build-py-project-and-run-examples.sh
+    . ./.ci/examples-funcs.sh
     run_py_examples
     run_ipynb_examples
     run_floopy_examples
diff --git a/.pylintrc-local.yml b/.pylintrc-local.yml
index 32f9604dcd465513c7ccfe9b692657a39d3a406e..e9aeb6d44ed869ac7a5ee14a783bcd34c08d1044 100644
--- a/.pylintrc-local.yml
+++ b/.pylintrc-local.yml
@@ -1,6 +1,16 @@
 - arg: extension-pkg-whitelist
   val: islpy
+
 - arg: ignore
-  val: compyte
+  val:
+  - compyte
+
+- arg: ignored-modules
+  val:
+  - IPython
+  - pycuda
+  - maptlotlib
+  - maptlotlib.pyplot
+
 - arg: init-hook
   val: sys.setrecursionlimit(5000)
diff --git a/.test-conda-env-py3.yml b/.test-conda-env-py3.yml
index 2570718a65a4d924683527d8442a812fdea362ed..580e5baac614abb645a4d86bd7f046f2a3efd3f2 100644
--- a/.test-conda-env-py3.yml
+++ b/.test-conda-env-py3.yml
@@ -11,8 +11,3 @@ dependencies:
 - mako
 - pyopencl
 - islpy
-
-# Only needed to make pylint succeed
-- matplotlib-base
-- ipykernel
-- ply
diff --git a/test/test_transform.py b/test/test_transform.py
index be0d7eb3e3ed818e46d42c4b7b07eaaef3a13c84..b30c0eaf5148934bd3d6b9e3ca5a1c3f13ddccc0 100644
--- a/test/test_transform.py
+++ b/test/test_transform.py
@@ -973,7 +973,7 @@ def test_diamond_tiling(ctx_factory, interactive=False):
         knl(queue, u=u_dev, dx=dx, dt=dx)
 
         u = u_dev.get()
-        import matplotlib.pyplot as plt
+        import matplotlib.pyplot as plt  # pylint: disable=import-error
         plt.imshow(u.T)
         plt.show()
     else: