diff --git a/.travis.yml b/.travis.yml
index fcd0898faeb795bed05c6d06828f55e79be22467..44a9aad99994c455b0beccb7a192a323eff074e2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,5 +10,6 @@ install:
  - pip install --force-reinstall "coverage>=4.0,<4.4" codeclimate-test-reporter
 script:
  - python setup.py nosetests
+ - python setup.py sdist
 after_success:
  - codeclimate-test-reporter
diff --git a/setup.py b/setup.py
index ca77cdecdba9f030770e6248a99bce40a8170bc5..766c27f3cfb4c4e8d1156d2192f209619c820527 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,7 @@
 # coding=UTF-8
 from setuptools import setup, find_packages
+from pip.req import parse_requirements
+
 
 from firanka import __version__
 
@@ -7,6 +9,6 @@ setup(
     version=__version__,
     packages=find_packages(exclude=['tests.*', 'tests']),
     tests_require=["nose", 'coverage>=4.0,<4.4'],
-    install_requires=open('requirements.txt', 'r').readlines(),
+    install_requires=map(str, parse_requirements('requirements.txt')),
     test_suite='nose.collector',
 )