Import a Python library from Github

Each Answer to this Q is separated by one/two green lines.

I’m new to Python so this may sound silly.

I want to use a Python library I’ve found on Github, lets say on https://github.com/praw-dev/praw, and I want to be able to do git pull in the future to pull the latest commits.

Question: Should I git clone <git url> in the project directory and delete everything except the praw directory, then in my python script do a import praw?

In iPython,

import praw

gives the error ImportError: No module named praw

Directory Structure

~\myProject\
    praw\
    myNotebook.ipynb

Actually, if given package is not on PyPI (or you want a specific branch) you can still install it through pip from GitHub with:

pip install git+https://github.com/[repo owner]/[repo]@[branch name]

And for your problem it would be (although @pandita’s answer is correct for normal usage case):

pip install git+https://github.com/praw-dev/praw.git

For more information check this answer.

Experimental Python module finder/loader from github, like in golang.

So, in golang we can import like:

import "github.com/parnurzeal/gorequest"

But in python we should install package by our hands:

pip install requests

And import it like:

import requests

But with this magic package and power of PEP-0302 we can do it automatically:

from github_com.kennethreitz import requests

assert requests.get('https://github.com/nvbn/import_from_github_com').status_code == 200

Installation

You should have git, Python 3.2+ and pip:

pip install import_from_github_com

Reference: https://github.com/nvbn/import_from_github_com

Just clone the files in any dir on your python path and then build the lib typically with python setup.py install from the command line.

I typically clone a libray form git in my site_libraries folder ( the folder that holds all of your pip installed packages ). From there you can pull and then build the libraries from git just like any other git repo. Having the files there is nice because all of your libs are in once place on your python path.

You might want to consider using pip instead of git to install and upgrade the package (that is unless you have a pressing reason to use git).

pip install praw

to update the package you can do

pip install --upgrade praw

Also have a look here for further information on how to use pip.


The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .