Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python pip - install from local dir

I have to download a git python repo and install since the pypi version is not updated.

Normally I would do this:

pip install mypackage pip install mypackage[redis] 

Now I have the repo cloned in the following folder:

/opt/mypackage

So how to I run to install the below not using the pypi version but the local?

pip --flag /opt/mypackage install mypackage pip --flag /opt/mypackage install mypackage[redis] 

There are the pip flags available and I don't see how to accomplish :

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                        Show help for commands.  General Options:   -h, --help                  Show help.   --isolated                  Run pip in an isolated mode, ignoring environment variables and user configuration.   -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.   -V, --version               Show version and exit.   -q, --quiet                 Give less output.   --log <path>                Path to a verbose appending log.   --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.   --retries <retries>         Maximum number of retries each connection should attempt (default 5 times).   --timeout <sec>             Set the socket timeout (default 15 seconds).   --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.   --trusted-host <hostname>   Mark this host as trusted, even though it does not have valid or any HTTPS.   --cert <path>               Path to alternate CA bundle.   --client-cert <path>        Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.   --cache-dir <dir>           Store the cache data in <dir>.   --no-cache-dir              Disable the cache.   --disable-pip-version-check 
like image 206
Tampa Avatar asked Jan 08 '17 17:01

Tampa


People also ask

Can pip install from local directory?

Install the downloaded package into a local directory : python get-pip.py --user This will install pip to your local directory (. local/bin) . Now you may navigate to this directory (cd . local/bin) and then use pip or better set your $PATH variable this directory to use pip anywhere : PATH=$PATH:~/.

How do I install a Python package from local files?

To install a package that includes a setup.py file, open a command or terminal window and: cd into the root directory where setup.py is located. Enter: python setup.py install.

Where is pip install directory?

Install to the Python user install directory for your platform. Typically ~/. local/, or %APPDATA%Python on Windows. (See the Python documentation for site.


2 Answers

All you need to do is run

pip install /opt/mypackage 

and pip will search /opt/mypackage for a setup.py, build a wheel, then install it.

The problem with using the -e flag for pip install as suggested in the comments and this answer is that this requires that the original source directory stay in place for as long as you want to use the module. It's great if you're a developer working on the source, but if you're just trying to install a package, it's the wrong choice.

Alternatively, you don't even need to download the repo from Github at all. pip supports installing directly from git repos using a variety of protocols including HTTP, HTTPS, and SSH, among others. See the docs I linked to for examples.

like image 125
MattDMo Avatar answered Sep 18 '22 23:09

MattDMo


You were looking for help on installations with pip. You can find it with the following command:

pip install --help 

Running pip install -e /path/to/package installs the package in a way, that you can edit the package, and when a new import call looks for it, it will import the edited package code. This can be very useful for package development.

like image 34
fabianegli Avatar answered Sep 21 '22 23:09

fabianegli