fb378d
diff --git a/pycparser/c_lexer.py b/pycparser/c_lexer.py
fb378d
index 045d24e..9b3cbf2 100644
fb378d
--- a/pycparser/c_lexer.py
fb378d
+++ b/pycparser/c_lexer.py
fb378d
@@ -9,8 +9,8 @@
fb378d
 import re
fb378d
 import sys
fb378d
 
fb378d
-from .ply import lex
fb378d
-from .ply.lex import TOKEN
fb378d
+from ply import lex
fb378d
+from ply.lex import TOKEN
fb378d
 
fb378d
 
fb378d
 class CLexer(object):
fb378d
diff --git a/pycparser/c_parser.py b/pycparser/c_parser.py
fb378d
index 744ede8..50156a3 100644
fb378d
--- a/pycparser/c_parser.py
fb378d
+++ b/pycparser/c_parser.py
fb378d
@@ -8,7 +8,7 @@
fb378d
 #------------------------------------------------------------------------------
fb378d
 import re
fb378d
 
fb378d
-from .ply import yacc
fb378d
+from ply import yacc
fb378d
 
fb378d
 from . import c_ast
fb378d
 from .c_lexer import CLexer
fb378d
diff --git a/setup.py b/setup.py
fb378d
index 6dce89c..b3dbfb4 100644
fb378d
--- a/setup.py
fb378d
+++ b/setup.py
fb378d
@@ -8,6 +8,8 @@ except ImportError:
fb378d
     from distutils.command.install import install as _install
fb378d
     from distutils.command.sdist import sdist as _sdist
fb378d
 
fb378d
+import ply
fb378d
+
fb378d
 
fb378d
 def _run_build_tables(dir):
fb378d
     from subprocess import check_call
fb378d
@@ -60,7 +62,8 @@ setup(
fb378d
         'Programming Language :: Python :: 3.6',
fb378d
     ],
fb378d
     python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
fb378d
-    packages=['pycparser', 'pycparser.ply'],
fb378d
+    packages=['pycparser'],
fb378d
+    install_requires=['ply==' + ply.__version__],
fb378d
     package_data={'pycparser': ['*.cfg']},
fb378d
     cmdclass={'install': install, 'sdist': sdist},
fb378d
 )