So as I near the production phase of my web project, I've been wondering how exactly to deploy a pyramid app. In the docs, it says to use ../bin/python setup.py develop to put the app in development mode. Is there another mode that is designed for production. Or do I just use ../bin/python setup.py install.
Well the big difference between python setup.py develop and python setup.py install. Is that install will install the package in your site-packages directory. While develop will install an egg-link that point to the directory for development. 
So yeah you can technically use both method. But depending on how you did your project, installing in site-package might be a bad idea. 
Why? FileUpload or anything your app might generate like dynamic files etc... If your app doesn't use config files to find where to save your files. Installing your app and running your app may try to write file in your site-packages directory.
In other words, you have to make sure that all files and directories that may be generated, etc can be located using config files.
Then if all dynamic directories are pointed out in the configs, then installing is good...
All you'll have to do is create a folder with a production.ini file and run pserve production.ini. 
Code can be saved anywhere on your comp that way and you can also use uWSGI or any other WSGI server you like. 
I think installing the code isn't a bad thing, and having data appart from the application is a good thing.
It has some advantage for deployment I guess.
Preparing a pyramid app for production