diff --git a/setup.py b/setup.py
index 575ac3a740487bdc7a7c3b33c0abf8b838e06d5f..27a67e120b9693d0f76a4947cd5b792dd144bfe0 100644
--- a/setup.py
+++ b/setup.py
@@ -77,9 +77,9 @@ else:
 platform_requires = []
 platform_dev_requires = []
 if sys.platform == 'win32' or sys.platform == 'darwin':
-    platform_requires = ['pysdl2']
+    platform_requires = ['pysdl2==0.9.6']
 if sys.platform == 'win32':
-    platform_dev_requires = ['cx_freeze', 'jinja2']
+    platform_dev_requires = ['cx_freeze==5.1.1', 'jinja2==2.10.3']
 
 package_data = {
     'cfclient.ui':  relative(glob('src/cfclient/ui/*.ui')),
@@ -129,9 +129,9 @@ setup(
 
     install_requires=platform_requires + ['cflib>=0.1.8',
                                           'appdirs>=1.4.0',
-                                          'pyzmq',
+                                          'pyzmq==18.1.0',
                                           'pyqtgraph>=0.10',
-                                          'PyYAML',
+                                          'PyYAML==5.1.2',
                                           'quamash==0.6.1',
                                           'qtm>=2.0.2'],