pip install from git repo branch
Question:
Trying to pip
install a repo’s specific branch. Google tells me to
pip install https://github.com/user/[email protected]
The branch’s name is issue/34/oscar-0.6
so I did pip install https://github.com/tangentlabs/[email protected]/issue/34/oscar-0.6
but its returning a 404.
How do I install this branch?
Answers:
Prepend the url prefix git+
(See VCS Support):
pip install git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6
And specify the branch name without the leading /
.
Using pip with git+ to clone a repository can be extremely slow (test with https://github.com/django/[email protected]/1.6.x for example, it will take a few minutes). The fastest thing I’ve found, which works with GitHub and BitBucket, is:
pip install https://github.com/user/repository/archive/branch.zip
which becomes for Django master:
pip install https://github.com/django/django/archive/master.zip
for Django stable/1.7.x:
pip install https://github.com/django/django/archive/stable/1.7.x.zip
With BitBucket it’s about the same predictable pattern:
pip install https://bitbucket.org/izi/django-admin-tools/get/default.zip
Here, the master branch is generally named default.
This will make your requirements.txt
installing much faster.
Some other answers mention variations required when placing the package to be installed into your requirements.txt
. Note that with this archive syntax, the leading -e
and trailing #egg=blah-blah
are not required, and you can just simply paste the URL, so your requirements.txt looks like:
https://github.com/user/repository/archive/branch.zip
Just to add an extra, if you want to install it in your pip file it can be added like this:
-e git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6#egg=django-oscar-paypal
It will be saved as an egg though.
Instructions to install from private repo using ssh credentials:
$ pip install git+ssh://[email protected]/myuser/[email protected]_version
To install a package from a subdirectory, say stackoverflow
$ pip install git+ssh://[email protected]/myuser/[email protected]_version#subdirectory=stackoverflow
You used the egg files install procedure.
This procedure supports installing over git
, git+http
, git+https
, git+ssh
, git+git
and git+file
. Some of these are mentioned in other answers.
It’s good. You can use branches, tags, or hashes to install.
Steve_K noted it can be slow to install with "git+" and proposed installing via zip file:
pip install https://github.com/user/repository/archive/branch.zip
Alternatively, I suggest you may install using the .whl
file if this exists.
pip install https://github.com/user/repository/archive/branch.whl
It’s pretty new format, newer than egg files. It requires wheel
and setuptools>=0.8
packages. You can find more in the documentation.
This worked like charm:
pip3 install git+https://github.com/deepak1725/[email protected]
Field
Value
User
deepak1725
Repository
fabric8-analytics-worker
Branch
develop
For windows & pycharm setup:
If you are using pycharm and If you want to use pip3 install git+https://github.com/...
- firstly, you should download git from https://git-scm.com/downloads
- then restart pycharm
- and you can use pycharm terminal to install what you want
to me your suggestion from question work e.g.
pip install https://github.com/user/[email protected]
translating concretely to doing
pip install -U git+https://github.com/moskomule/[email protected]
worked. Perhaps remove the extra /
is redundant. My output:
(original_anatome_env) brando~/ultimate-anatome ❯ pip install -U git+https://github.com/moskomule/[email protected]
Collecting git+https://github.com/moskomule/[email protected]
Cloning https://github.com/moskomule/anatome.git (to revision dev) to /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-req-build-62d_ghd2
Running command git clone -q https://github.com/moskomule/anatome.git /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-req-build-62d_ghd2
Running command git checkout -b dev --track origin/dev
Switched to a new branch 'dev'
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
Resolved https://github.com/moskomule/anatome.git to commit 4b576e51cb1824a57ea04974e0f92b5a6143294d
Requirement already satisfied: torch>=1.10.0 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from anatome==0.0.6) (1.10.0)
Requirement already satisfied: torchvision>=0.11.1 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from anatome==0.0.6) (0.11.1)
Requirement already satisfied: typing-extensions in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torch>=1.10.0->anatome==0.0.6) (3.10.0.2)
Requirement already satisfied: pillow!=8.3.0,>=5.3.0 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torchvision>=0.11.1->anatome==0.0.6) (8.4.0)
Requirement already satisfied: numpy in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torchvision>=0.11.1->anatome==0.0.6) (1.21.4)
Building wheels for collected packages: anatome
Building wheel for anatome (setup.py) ... done
Created wheel for anatome: filename=anatome-0.0.6-py3-none-any.whl size=10167 sha256=63b12a36f33deb8313bfe7756be60bd08915b8ba36711be47e292b590df70f61
Stored in directory: /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-ephem-wheel-cache-rde_ngug/wheels/19/e4/be/01479e8cba62ae8cdcd501cd3bf49e199f2bb94732a6a1b006
Successfully built anatome
Installing collected packages: anatome
Attempting uninstall: anatome
Found existing installation: anatome 0.0.5
Uninstalling anatome-0.0.5:
Successfully uninstalled anatome-0.0.5
Successfully installed anatome-0.0.6
0.6.0 is the dev branch version number and 0.5.0 is the master, so it worked!
Trying to pip
install a repo’s specific branch. Google tells me to
pip install https://github.com/user/[email protected]
The branch’s name is issue/34/oscar-0.6
so I did pip install https://github.com/tangentlabs/[email protected]/issue/34/oscar-0.6
but its returning a 404.
How do I install this branch?
Prepend the url prefix git+
(See VCS Support):
pip install git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6
And specify the branch name without the leading /
.
Using pip with git+ to clone a repository can be extremely slow (test with https://github.com/django/[email protected]/1.6.x for example, it will take a few minutes). The fastest thing I’ve found, which works with GitHub and BitBucket, is:
pip install https://github.com/user/repository/archive/branch.zip
which becomes for Django master:
pip install https://github.com/django/django/archive/master.zip
for Django stable/1.7.x:
pip install https://github.com/django/django/archive/stable/1.7.x.zip
With BitBucket it’s about the same predictable pattern:
pip install https://bitbucket.org/izi/django-admin-tools/get/default.zip
Here, the master branch is generally named default.
This will make your requirements.txt
installing much faster.
Some other answers mention variations required when placing the package to be installed into your requirements.txt
. Note that with this archive syntax, the leading -e
and trailing #egg=blah-blah
are not required, and you can just simply paste the URL, so your requirements.txt looks like:
https://github.com/user/repository/archive/branch.zip
Just to add an extra, if you want to install it in your pip file it can be added like this:
-e git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6#egg=django-oscar-paypal
It will be saved as an egg though.
Instructions to install from private repo using ssh credentials:
$ pip install git+ssh://[email protected]/myuser/[email protected]_version
To install a package from a subdirectory, say stackoverflow
$ pip install git+ssh://[email protected]/myuser/[email protected]_version#subdirectory=stackoverflow
You used the egg files install procedure.
This procedure supports installing over git
, git+http
, git+https
, git+ssh
, git+git
and git+file
. Some of these are mentioned in other answers.
It’s good. You can use branches, tags, or hashes to install.
Steve_K noted it can be slow to install with "git+" and proposed installing via zip file:
pip install https://github.com/user/repository/archive/branch.zip
Alternatively, I suggest you may install using the .whl
file if this exists.
pip install https://github.com/user/repository/archive/branch.whl
It’s pretty new format, newer than egg files. It requires wheel
and setuptools>=0.8
packages. You can find more in the documentation.
This worked like charm:
pip3 install git+https://github.com/deepak1725/[email protected]
Field | Value |
---|---|
User | deepak1725 |
Repository | fabric8-analytics-worker |
Branch | develop |
For windows & pycharm setup:
If you are using pycharm and If you want to use pip3 install git+https://github.com/...
- firstly, you should download git from https://git-scm.com/downloads
- then restart pycharm
- and you can use pycharm terminal to install what you want
to me your suggestion from question work e.g.
pip install https://github.com/user/[email protected]
translating concretely to doing
pip install -U git+https://github.com/moskomule/[email protected]
worked. Perhaps remove the extra /
is redundant. My output:
(original_anatome_env) brando~/ultimate-anatome ❯ pip install -U git+https://github.com/moskomule/[email protected]
Collecting git+https://github.com/moskomule/[email protected]
Cloning https://github.com/moskomule/anatome.git (to revision dev) to /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-req-build-62d_ghd2
Running command git clone -q https://github.com/moskomule/anatome.git /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-req-build-62d_ghd2
Running command git checkout -b dev --track origin/dev
Switched to a new branch 'dev'
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
Resolved https://github.com/moskomule/anatome.git to commit 4b576e51cb1824a57ea04974e0f92b5a6143294d
Requirement already satisfied: torch>=1.10.0 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from anatome==0.0.6) (1.10.0)
Requirement already satisfied: torchvision>=0.11.1 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from anatome==0.0.6) (0.11.1)
Requirement already satisfied: typing-extensions in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torch>=1.10.0->anatome==0.0.6) (3.10.0.2)
Requirement already satisfied: pillow!=8.3.0,>=5.3.0 in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torchvision>=0.11.1->anatome==0.0.6) (8.4.0)
Requirement already satisfied: numpy in /Users/brando/anaconda3/envs/metalearning/envs/original_anatome_env/lib/python3.9/site-packages (from torchvision>=0.11.1->anatome==0.0.6) (1.21.4)
Building wheels for collected packages: anatome
Building wheel for anatome (setup.py) ... done
Created wheel for anatome: filename=anatome-0.0.6-py3-none-any.whl size=10167 sha256=63b12a36f33deb8313bfe7756be60bd08915b8ba36711be47e292b590df70f61
Stored in directory: /private/var/folders/x4/0xq0brj57xz3dbhbmblypbm00000gr/T/pip-ephem-wheel-cache-rde_ngug/wheels/19/e4/be/01479e8cba62ae8cdcd501cd3bf49e199f2bb94732a6a1b006
Successfully built anatome
Installing collected packages: anatome
Attempting uninstall: anatome
Found existing installation: anatome 0.0.5
Uninstalling anatome-0.0.5:
Successfully uninstalled anatome-0.0.5
Successfully installed anatome-0.0.6
0.6.0 is the dev branch version number and 0.5.0 is the master, so it worked!