Python Tools12 Aug 2015
Two weeks ago my wife started learning more about software development, more precisely python language, so I decided to write this document to help her in this new journey. In the same time some co-workers of mine needed the same kind of explanation.
If you are looking for a simple tutorial about
easy_install tools, here is your place. Enjoy and try to not sleep while reading it. =)
Easy Install (easy_install) gives you a quick and painless way to install and manage python packages. It was released in 2004, as part of setuptools. If you don’t have
pip tool in your machine let’s use
easy_install tool to install it.
With the command below we can easily install
pip. Remember, you have to be
root or use
sudo before the command.
# easy_install pip
If the command succeeded, you are now able to use the
pip command. Make a test to see if you can find the command in your machine.
# type pip pip is /usr/local/bin/pip
Looks fine? Let’s move on.
Pip Installs Packages (pip)
Hey, so you have finished the first step, good! Now let’s learn a little bit about the
As you can see PIP is a recursive acronym that means Pip Installs Packages. It is another tool to manage python packages and it is widely used by python developers. If you want to read mored about this amazing tool you can read the official site.
How to use
Pip is a real easy command and is generally used when you need to install a library, framework or any other dependency to your project.
First command you should try is
help. Pay attention, If you are not using a
virtual environment you have to be root to install packages.
bane:~ paulo$ pip -h Usage: pip <command> [options] Commands: install Install packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. list List installed packages. show Show information about installed packages. search Search PyPI for packages. wheel Build wheels from your requirements. help
As you can see it is possible to install, uninstall, search, list and do other management using the command
pip. Now free your mind and use it.
If we want to search the package called
$ sudo pip search requests
If we want to install the
$ sudo pip install requests
If we want to uninstall the
$ sudo pip uninstall requests
You should do that with all packages you want to install.
If you have a project and in this project you have some requirements, so you can create a file called
requirements.txt and inside the file you can add all packages you need.
Look an example of this file.
pandas seaborn requests
Now you can install all requirements using only one command.
$ sudo pip install -r requirements.txt
If you have all requirements installed in your machine, it is possible to generate the
$ pip freeze > requeriments.txt
Nice uhm? :D
A lot of developers don’t like to use virtual environments, honestly I don’t know why. It is to use and keep your system healthy.
What is it?
Imagine this situation. You are working in a Project X and you need a library version 1.1, so you install this library in your system, but next month you will work in a Project Z and you need a different version of the same library. What you gonna do?
Virtual environments solve this kind of problems, they keep the dependencies required by different projects in separate places, by creating virtual Python environments for each of them.
How to install it?
Do you remember the
pip tool? So, we can use it to install the
$ sudo pip install virtualenv
How to use it?
Sometimes the best way to learn is seeing an example. You can work with virtual environments in a new project or existing project. Let’s start a new project.
$ mkdir test $ cd test $ virtualenv venv Running virtualenv with interpreter /usr/bin/python2 New python executable in venv/bin/python2 Also creating executable in venv/bin/python Installing setuptools, pip...done
Now we have a virtual environment created, we have just to activate it. Let’s do that now.
To activate your environment do the command below.
$ source venv/bin/activate
When you activate the virtual environment the bash prompt will change and add the environment’s name in your prompt.
Look in my bash the word (venv) is telling us the environment is activated. So you do not need to be root to install and manage your python packages, because you will install the packages in your environment, not in your system.
And when you are done working in your virtual environment, you can deactivate it.
Working with Git
Hum, Do you know who is Linus Torvalds? He is an amazing guy, he is the Linux creator and maintainer. He also is creator of
git tool. But what is
git? In a simple way, it is a system to keep the activity history when we are developing a project.
If you want to start working in a project, the first thing you have to do is clone the project. Look the example below.
$ git clone firstname.lastname@example.org:patito/go-adventure.git
Now we have cloned the project, we can change it and start working. :D You can use
git status to see your changes.
bane:go-adventure paulo$ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: list.go
I can see that I have modified the file
list.go. So we have to
add this file, commit it and send to the server. Looks like complicated, but it is not.
Adding a file.
$ git add list.go
Commiting your changes.
$ git commit -m "Change comments at list.go"
Pushing your changes.
$ git push
You can find more info about git at official website.
Like I said before this post is just to help my wife and others python beginners. If something is wrong just leave a comment.