Is it possible to use pip to install a package from a private GitHub repository?
Solution 1:
You can use the git+ssh
URI scheme, but you must set a username. Notice the git@
part in the URI:
pip install git+ssh://[email protected]/echweb/echweb-utils.git
Also read about deploy keys.
PS: In my installation, the "git+ssh" URI scheme works only with "editable" requirements:
pip install -e URI#egg=EggName
Remember: Change the :
character that git remote -v
prints to a /
character before using the remote's address in the pip
command:
$ git remote -v
origin [email protected]:echweb/echweb-utils.git (fetch)
# ^ change this to a '/' character
If you forget, you will get this error:
ssh: Could not resolve hostname github.com:echweb:
nodename nor servname provided, or not known
Solution 2:
As an additional technique, if you have the private repository cloned locally, you can do:
pip install git+file://c:/repo/directory
More modernly, you can just do this (and the -e
will mean you don't have to commit changes before they're reflected):
pip install -e C:\repo\directory