diff --git a/python/Makefile.am b/python/Makefile.am
index 0949da89d49e51f587372ed45b4af5354d0bfee3..98b669955ce0f64e095f96a338f385aff74a8cad 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -1,5 +1,7 @@
 if USE_CYTHON
 
+PYTHON_INSTALL_RECORD = $(builddir)/install_record.txt
+
 pybuild.stamp:
 	LDFLAGS="-L$(top_srcdir)/src/.libs" $(PYTHON) setup.py build_ext --inplace
 	echo stamp > pybuild.stamp
@@ -8,15 +10,18 @@ CLEANFILES = pybuild.stamp
 
 all-local: pybuild.stamp
 clean-local:
-	rm -rf $(builddir)/build $(builddir)/*.so
+	rm -rf $(builddir)/build $(builddir)/*.so $(PYTHON_INSTALL_RECORD)
 
 install-exec-local:
-	$(PYTHON) setup.py install
+	$(PYTHON) setup.py install --record $(PYTHON_INSTALL_RECORD)
 	rm -rf $(builddir)/build
 
 if HAVE_PIP
 uninstall-local:
 	/usr/bin/yes | $(PIP) uninstall $(PACKAGE)
+else
+uninstall-local:
+	while read -r file; do rm -rvf $$file ; done <$(PYTHON_INSTALL_RECORD)
 endif
 
 endif