["python","git","pip"]
How can I install from a git subdirectory with pip?

I have a git repository with many folders, one of them being a python module installable with pip, like this: repo.git/ repo.git/folder1/ repo.git/folder2/ repo.git/mymodule/ repo.git/mymodule/__init__.py repo.git/mymodule/setup.py repo.git/mymodule/... Right now I have to do the following to install: git clone http://server/repo.git cd repo pip install mymodule cd .. rm -rf repo Is it possible to install the module directly with pip without explicitly cloning ? I tried: pip install git+https://server/repo.git/mymodule/ pip install git+https://server/repo.git:mymodule/ But I get: IOError: [Errno 2] No such file or directory: '/tmp/pip-88tlLm-build/setup.py'
There is a pull request regarding this feature, and it seems to have been merged to develop branch a month ago. The syntax is the following: pip install -e "git+https://git.repo/some_repo.git#egg=$NAME_OF_PACKAGE&subdirectory=$SUBDIR_IN_REPO" # install a python package from a repo subdirectory We probably have to wait for a while until it gets merged to master and is distributed. UPDATE: This is now available and documented at https://pip.pypa.io/en/stable/cli/pip_install/#vcs-support as follows: For projects where setup.py is not in the root of project, "subdirectory" component is used. Value of "subdirectory" component should be a path starting from root of the project to where setup.py is located. So if your repository layout is: - pkg_dir/ - setup.py # setup.py for package ``pkg`` - some_module.py - other_dir/ - some_file - some_other_file You'll need to use pip install -e "vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir" Note: Make sure to surround it with quotes otherwise subdirectory won't work.