diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bfc83b56e0524e4d0329a30ea070221113865d60
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,9 @@
+setuptools
+bob.extension
+bob.blitz
+bob.core
+bob.io.base
+bob.sp
+bob.math
+bob.learn.activation
+bob.learn.linear
diff --git a/setup.py b/setup.py
index fa3cf02165b2c27f0edf7cd788a11786301e6eee..64b2046ea412a76d76bc1556e00092c2bfda549d 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@
 bob_packages = ['bob.core', 'bob.io.base', 'bob.sp', 'bob.math', 'bob.learn.activation', 'bob.learn.linear']
 
 from setuptools import setup, find_packages, dist
-dist.Distribution(dict(setup_requires=['bob.blitz'] + bob_packages))
+dist.Distribution(dict(setup_requires=['bob.extension', 'bob.blitz'] + bob_packages))
 from bob.blitz.extension import Extension, Library, build_ext
 
 packages = ['boost']
@@ -29,16 +29,8 @@ setup(
     packages=find_packages(),
     include_package_data=True,
 
-    install_requires=[
-      'setuptools',
-      'bob.blitz',
-      'bob.core',
-      'bob.io.base',
-      'bob.sp',
-      'bob.math',
-      'bob.learn.activation',
-      'bob.learn.linear',
-      ],
+    setup_requires = build_requires,
+    install_requires = build_requires,
 
     namespace_packages=[
       "bob",