Python, Pip, virtualenv installation on Windows

No more struggles Windows Python development! I’ve found this is the best way to configure your dev environment.
This has made things much easier to get started and less of a headache overall.

We use Virtual Environment so we can test python code in encapsulated environments and to also avoid filling our base Python installation with a bunch of libraries we might use for only one project.

But Virtual Environments can be tricky if you don’t establish a good workflow. I’ll show you how to setup your python environment from Scratch and then do a very simple workflow using Flask.

SETUP
4 Steps:
Install Python
Install Pip
Install VirtualEnv
Install VirtualEnvWrapper-win

Install Python:

First Go to the Python Downloads Site.

As of March 2015 the download you want for a standard windows machine is Windows x86-64 MSI installer (The other download is for servers). Its circled here:

Download

Run the installer!
You’ll come across this page in the installer:

PythonInstaller

You’ll want to scroll down and add it to the path. If you don’t that’s okay. You can add it later.
Adding Python to the PATH will allow you to call if from the command line.

After the installation is complete double check to make sure you see python in your PATH. You can find your path by opening your control panel -> System and Security -> System -> Advanced System Settings -> Environment Variables -> Selecting Path -> Edit ->

Now you’re looking at your Path. Be Careful, if you delete or add to the path accidently you may break other programs.

You need to confirm that C:\Python27; and C:\Python27\Scripts; is part of your path.

If you do not see it in your path you can simply add it at the beginning or end of the variable value box. As you can see in the image below.

AdvancedSettings

Install Pip:

As of Python Version 2.7.9 Pip is installed automatically and will be available in your Scripts folder.

If you install a later version of Python I would recommend installing it according to this helpful stackoverflow post.

Pip is a Package manager for python which we will use to load in modules/libraries into our environments.

An example of one of these libraries is VirtualEnv which will help us keep our environments clean from other Libraries. This sounds really confusing but as you start using it you’ll begin to understand how valuable this encapsulation of modules/libraries can be.

To test that Pip is installed open a command prompt (win+r->’cmd’->Enter) and try ‘pip help’

You should see a list of available commands including install, which we’ll use for the next part:

Install virtualenv:

Now that you have pip installed and a command prompt open installing virtualenv to our root Python installation is as easy as typing ‘pip install virtualenv’
Like so:

pipinstallvirtualenv

Now we have virtualenv installed which will make it possible to create individual environments to test our code in. But managing all these environments can become cumbersome. So we’ll pip install another helpful package…

Install virtualenvwrapper-win:

This is the kit and caboodle of this guide.

Just as before we’ll use pip to install virtualenvwrapper-win. ‘pip install virtualenvwrapper-win’
Like so:

virtualenvwrapper-win

Excellent! Now we have everything we need to start building software using python! Now I’ll show you how buttery smooth it is to use these awesome tools!

USAGE
7 Steps:
Make a Virtual Environment
Connect our project with our Environment
Set Project Directory
Deactivate
Workon
Pip Install
Flask!

Make a Virtual Environemt:

Lets call it HelloWold. All we do in a command prompt is enter ‘mkvirtualenv HelloWold’
This will create a folder with python.exe, pip, and setuptools all ready to go in its own little environment. It will also activate the Virtual Environment which is indicated with the (HelloWold) on the left side of the prompt.

mkvirtualenv

Anything we install now will be specific to this project. And available to the projects we connect to this environment.

Connect our project with our Environment:

Now we want our code to use this environment to install packages and run/test code.

First lets create a directory with the same name as our virtual environment in our preferred development folder. In this case mine is ‘dev’

See here:

mkdir

HelloWold will be the root folder of our first project!

Set Project Directory:

Now to bind our virtualenv with our current working directory we simply enter ‘setprojectdir .’
Like so:

setprojectdir

Now next time we activate this environment we will automatically move into this directory!
Buttery smooth.

Deactivate:

Let say you’re content with the work you’ve contributed to this project and you want to move onto something else in the command line. Simply type ‘deactivate’ to deactivate your environment.
Like so:

deactivate

Notice how the parenthesis disappear.
You don’t have to deactivate your environment. Closing your command prompt will deactivate it for you. As long as the parenthesis are not there you will not be affecting your environment. But you will be able to impact your root python installation.

Workon:

Now you’ve got some work to do. Open up the command prompt and type ‘workon HelloWold’ to activate the environment and move into your root project folder.

Like so:

workon

Pretty sweet! Lets get working.

Pip Install:

To use flask we need to install the packages and to do that we can use pip to install it into our HelloWold virtual environment.

Make sure (HelloWold) is to the left of your prompt and enter ‘pip install flask’
Like so:

pipinstallflask

This will bring in all the tools required to write your first web server!

Flask:

Now that you have flask installed in your virtual environment you can start coding!

Open up your favorite text editor and create a new file called hello.py and save it in your HelloWold directory.

I’ve simply taken the sample code from Flask’s website to create a very basic ‘Hello World!’ server.

I’ve named the file hello.py.

Once the code is in place I can start the server using ‘python hello.py’ this will run the python instance from your virtual environment that has flask.

See here:

webserver

You can now navigate with your browser to http://127.0.0.1:5000/ and see your new site!

Sweet. You have everything you need to start working through tutorials on Flask without worrying about gunking up your Python installations.

Let me know if you have any questions! Happy Developing!

Art Deco From Afar
Art Deco From Afar

Quick Edits Using VS Code

I’ve been working in Visual Studio pretty heavily in the last two weeks, but every once in a while I need to make quick edits to my .gitignore file, which isn’t in my project directory.

I usually open up a small text editor right from PowerShell and now that VS Code is out I thought ‘why not use that?’

Here’s how you can easily open files using code from PowerShell in three steps:

1.Find the path to VS Code
2. Edit your PowerShell profile
3. Open Files!

1. Find the VS Code Path

First thing we need to do is find where VS Code is in our directory.

If you have Code pinned to your start menu or on your desktop simply right click the icon and ‘select open file location’.

File explorer should now open to the location of the .exe.
Right click the Code.exe file and select ‘properties’.

If you selected a Shortcut Icon you should see a screen like this:

vscodeshortcutpath

If you navigated to the actual location in directory of VS Code it should look like this:

vscodelocationpath

Now right click and copy the path.

In my case: C:\Users\tireilly\AppData\Local\Code\app-0.1.0

2. Edit our PowerShell profile

To edit our profile we need to find the Microsoft.PowerShell_profile.ps1 file.

My file is located here:

profilelocationpowershell

I open the file in notepad to make my edits:

notepadpowershellprofile

Now that we have our profile open we’ll create an alias for labeled code followed by the path to our .exe
eg: Set-Alias code ‘C:\Users\user\AppData\Local\Code\app-0.1.0\Code.exe

noticed how I added the Code.exe to the path so the program will launch!

Here’s a photo of my current PowerShell profile for reference:

powershellprofile

Now we can save and close this file and open a new PowerShell window!

3. Edit some files!

Let’s edit our PowerShell profile with Code this time!

symmetryisgood

Something oddly satisfying about getting exactly what you want with words.

codeeditorpowershellprofile

And there we go. The brand new Code editor at your fingertips whenever you need it!

Let me know if you have any comment or questions!

Amazing Dude
Professor Chang Yun is an excellent man with an amazing imagine cup record. His mentorship has led teams to US finals for 8 years straight. With 6 teams making it into the World Finals.

Pin Putty.exe to Start Menu In Windows 10

When working with the cloud a any remote device being able to quickly SSH into a box is important for maintaining focus.

So, I was pleased to find a way to keep putty two clicks away by placing it in the start menu.

Here are the steps I took to keep putty handy.
And an alternate way below if you’re familiar with downloading .exe’s.

1. Download putty.exe

Notice save and the small black arrow next to it?
Notice save and the small black arrow next to it?

2. Save it to your download files
3. Go to downloads folder
Now you can navigate to the downloads folder from the downloads bar
Now you can navigate to the downloads folder from the downloads bar

4. Right click and select pin to start menu
5. Then right-click -> cut putty.exe from your downloads file and move it someplace more permanent like you’re program files.
6. Go find putty in your start menu!

Alternatively you can also save putty directly to your program files.
1. Download putty.exe
2. When the download bar appears select “save as” under the black arrow next to save.

Notice save and the small black arrow next to it?
Use the small black arrow in the circle to find “save as”

3. Navigate to your program files.
This is the folder I have chosen for putty
This is the folder I have chosen for putty

4. Select save.
Here is the save button. Notice the file path. You need to navigate here to find putty in the next step.
Here is the save button. Notice the file path. You need to navigate here to find putty in the next step.

5. Open file explorer to the file you saved putty in
6. Right click on putty and select pin to start.
7. Go find putty in your start menu.

You can resize and move the putty icon to your hearts content and never go searching for your SSH client again!

After Frisbee Chow Town
After Frisbee Chow Town

First Login with Raspberry Pi using Windows 10

Since I’m now running full steam with Windows 10 I have run into a couple understandable documentation issues for the raspberry pi B+.

I’ll be doing my best to fill them out as I learn about this device.
So far no major issues, but one thing to clear up.

Consider this a Windows 10 companion article to Adafruit’s Console Cable guide.

The raspberry pi made it to me faster than the HDMI cord did, so I had no way to see what was happening on the device.

Luckily I purchased the Pi as part of a kit from Adafruit and it contains a console cable. A cool way to get to your Raspberry Pi’s console and start learning about the device.

So I was following along with this tutorial from Adafruit. And found this warning.
Capture

But I went ahead and gave it a shot.

  • Going to this site
  • Clicking on the PL2303_Prolific_DriverInstaller_v1.10.0.zip
  • Saving it and extracting it to a folder on my desktop
  • Running the PL2303_Prolific_DriverINstaller_v1.10.0.exe
  • Plugging in the GPIO leads*
  • Plugging the USB end into my computer
  • Finally Viewing the device in my device manager**.

CaptureDevice

There it is under COM3!

I continued with the instructions given by Adafruit for PuTTY configuration***.

Remember the default username is ‘pi’ and the password is ‘raspberry’

*
I found this diagram and site helpful for understanding what the differences were between the B and B+ GPIO ports. Its from Raspberry Pi Spy.
Raspberry-Pi-GPIO-Layout-Model-B-Plus

** You can view exactly which port to use in the device manager which can be found by right clicking on the start menu.

***I would suggest pinning PuTTY to your start menu because I tend to lose it and it is great to have on hand when needing to SSH in Azure, Linux Server, or any other place you need to get Console/Terminal access.

Merry Retro Christmas from my Mom and her Brothers and Sisters from long ago!
Merry Retro Christmas from my Mom and her Brothers and Sisters from long ago!