Now that we've got our setup.py, we can use it to do a number of interesting things. The first, and perhaps most obvious, thing we can do is install our module into our virtual environment! We do this by passing the install argument to setup.py:
(palindrome_env)$ python setup.py install
running install
running build
running build_py
copying palindrome.py -> build/lib
running install_lib
copying build/lib/palindrome.py -> /Users/sixty_north/examples/palindrome/palindrome_env/lib/python3.5/site-packages
byte-compiling /Users/sixty_north/examples/palindrome/palindrome_env/lib/python3.5/site-packages/palindrome.py to palindrome.cpython-35.pyc
running install_egg_info
Writing /Users/sixty_north/examples/palindrome/palindrome_env/lib/python3.5/site-packages/palindrome-1.0-py3.5.egg-info
When invoked setup() prints out a few lines to tell you about its progress...