Consuming HTTP Services in Python Transcripts
Chapter: Initial HTTP GET requests with the requests package
Lecture: A clean environment for our course
0:01 Now, we are going to need to install some packages, during this class,
0:03 in particular we need to install Requests,
0:06 we are going to need to install Beautiful Soup,
0:08 and some of the other foundational or dependent packages there.
0:11 Now, one thing we could do is
0:13 we could say pip install requests or something to this effect,
0:15 however, if we do, this is going to modify our global system,
0:19 and there is a couple of drawbacks to that,
0:22 we don't want to modify our global system
0:25 because it requires us to run these installers as admin,
0:29 and this is kind of running arbitrary code off the internet as admin, not super recommended,
0:32 it also means that we are going to use the same version of the library
0:35 across every project we run, on our computer,
0:38 so maybe we want to use the newest request for this,
0:41 but some other projects it's old and it needs to use an older request
0:44 because there is some kind of change, how do you manage those two environments?
0:47 So the answer of course is to use virtual environments,
0:50 so let's just ask which pip or which pip 3 is really what we want,
0:53 so we want to say, see this is obviously the global one,
0:56 and if we ask it what is installed, you'll see that there is a bunch of stuff installed,
1:00 so, let's actually create what is called a virtual environment
1:03 that we'll use for the rest of this class,
1:06 so I am in a directory called /pyhton/environments,
1:08 there is a lot of conventions around this actually, there is different locations for different people,
1:13 sometimes you put it in your project directory, sometimes you put these outside,
1:16 I am going to put them in this folder in my user profile.
1:18 In Python 3, there is a built in way to create a virtual directory,
1:21 so we can say python 3, now on Windows, there is no python 3 just be aware,
1:25 you just have to have the path to python 3 versus python 2.
1:29 So that is a little tricky, but on Linux and OS 10 we can say python 3
1:32 and that is pretty straightforward, and we want to run the module, venv,
1:36 and we want to give it some sort of path,
1:39 so let's say we'll go to consuming services venv. Now, this will totally work,
1:44 however, just one word of caution here- if your are on a Mac,
1:47 and you are going to use PyCharm, both of these things need to be true,
1:52 if you are on a Mac and you are going to use PyCharm,
1:55 there is a problem with PyCharm understanding the type
1:58 of basically following the symlinks too far when you set up a virtual directory this way,
2:03 and so what you need to do for the time being, is add a copies flag here
2:09 to say don't create symlinks, create just a copy of the Python file
2:13 that we can link to directly in this environment.
2:16 So, because I am going to be using PyCharm,
2:19 I am going to put --copies and I am on a Mac, it's up to you,
2:22 but, I recommend doing the --copies for the time being.
2:27 Okay, great, we've created it, how does this change our pip story?
2:30 Not at all, because notice my prompt, it still says Mac Book Pro,
2:34 just standard prompt there, so what we need to do is we need to activate this,
2:38 we need to basically change this individual shell temporarily
2:42 to know only about that Python, so I can come over here and say . (dot)
2:47 so apply this what I am about to do to this shell,
2:50 and I am going to run ./consuming_svc_env/bin/activate
2:53 on Windows, you don't need the dot and this is activate.patch.
2:56 Notice, my prompt changed, if I ask which pip, now it's this one, again,
3:01 if I ask which Python, it's now this one from this environment.
3:04 Great. So, most importantly, what we are after, we were asking for a clean environment,
3:09 and here we have a brand new fresh clean virtual environment, with pip and setup tools.
3:13 So now we can start installing things that we are going to use for this project,
3:17 here, so let's say pip install requests.
3:22 And it either uses a cash version or downloads it from the internet,
3:26 and then installs it,
3:29 and now if we ask pip list we can see, yeey, requests is installed,
3:33 so let's just verify that everything is hanging together, we'll do a quick little thing here,
3:37 we can come over and import requests, and because that didn't break,
3:41 things are looking good, and then we can just make sure
3:44 that there is actually something reasonable here, there we go.
3:49 So we've got cookies, sessions, get, post, those kinds of things.
3:52 Alright, so it looks like requests was installed successfully.
3:56 Now we are ready to use this environment,
3:59 this clean environment which does not require admin rights on the machine
4:02 and is just dedicated to our little project here,
4:04 we can use this clean environment for the rest of the class.