RESTful and HTTP APIs in Pyramid Transcripts
Chapter: Your first service
Lecture: Concept: Creating the site
0:01 Let's look at the steps that we had to take to create and run our web application. Remember, the first thing we had to do was make sure
0:10 that we actually had cookiecutter itself installed because pyramid is now switched to a cookiecutter template model
0:16 for all of their projects, so we need to run cookiecutter against their template, that means we've got to have cookiecutter.
0:21 So we did a pip 3 the install--user cookiecutter you may have to set the path depending on how is system setup,
0:26 it may just run, I've seen it sort of work both ways; so we install cookiecutter, once we have cookiecutter working
0:33 you can pick a template, for the purpose here I think the Pyramid cookicutter starter is totally fine.
0:41 There is one that you can pick that has sqlalchemy set up but you'll probably want a lot of control over that anyway.
0:47 So we'll do that in the later section, and it will set up sqlalchemy, the data access layer, but here we get pretty simple one page basic website,
0:55 so cookiecutter space the url to the github repository, not the . git part, although I believe that would also work
1:02 but actually just the url to the github repo page. Cookiecutter asks you a couple of questions before it actually creates the website
1:09 so here we gave it the name auto service api and auto_service_api for the lower case name and then we chose Chameleon, and it ran correctly
1:19 and gave us a few steps on hey here's what you might do next. So you see the next thing it says it's to go into that directory
1:26 and create a virtual environment, we do almost that we do create the virtual environment, we give it a slightly different command.
1:33 So then we go into where the web app was created to its primary directory, we create a virtual environment
1:39 and we use the . env rather than straight env, that makes it both hidden but also PyCharm automatically detects and uses that,
1:47 which is very handy, and we give it the --copies at least on MacOS, because the resolution of the symlinks doesn't quite work right in PyCharm,
1:58 and possibly other environments as well, this is the one reverend to issues and copies fixes that, so we've now created our virtual environment,
2:05 but it's still not active, if we do pip or Python is running the system one, notice of the prompt is unchanged, so the next thing to do
2:11 is to activate the virtual environment, so we say source or . env /bin/activate like I said,
2:18 on Windows it's scripts and activate that, source not required and our prompt should change. Then if you ask things like which or where Python,
2:25 it will pull up the actual path to the one that's in that virtual directory, so you know it's working.
2:31 After that, we need to install Pyramid, all the dependencies of our web app
2:35 which depending on how the scaffold runs is often beyond just Pyramid itself, things like pyramid debug toolbar and waitress and so on;
2:43 so to accomplish that as well as register the package itself, remember, pyramid projects are Python packages
2:49 we run Python against the setup.py and we give it a developed argument
2:53 and that's going to tell it to install all the dependencies, and install it locally. After this, we're ready to run, so we just use the p.serve command
3:01 which comes along as part of that setup process when we install pyramid it comes with p.serve, and t hen we can p.serve development.ini
3:09 that starts up our web app and we're off to the races. We have a wonderful new website that we're ready to start adding a web services to.