$ find . -type f -name "*.py" ./setup.py ./mypkg/__init__.py ./mypkg/config.py ./mypkg/shapes/__init__.py ./mypkg/shapes/square.py $ find . -type f -name "*.py" | xargs head -n999 ==> ./setup.py <== from setuptools import setup, find_packages setup( name="mypkg", version="0.1", packages=find_packages(), ) ==> ./mypkg/__init__.py <== ==> ./mypkg/config.py <== SIZE = 4 ==> ./mypkg/shapes/__init__.py <== ==> ./mypkg/shapes/square.py <== from mypkg.config import SIZE def square(size=SIZE): edge = "*"*size inside = "*" + " " * (size-2) + "*" yield edge for i in range(size-2): yield inside yield edge if __name__ == "__main__": print "\n".join(square()) $ virtualenv ~/foo-env New python executable in /Users/stevek/foo-env/bin/python Installing setuptools, pip...done. $ ~/foo-env/bin/python setup.py develop ... Finished processing dependencies for mypkg==0.1 $ ~/foo-env/bin/python mypkg/shapes/square.py **** * * * * ****