How to manually install a pypi module without pip/easy_install?
Solution 1:
- Download the package
- unzip it if it is zipped
- cd into the directory containing setup.py
- If there are any installation instructions contained in documentation contianed herein, read and follow the instructions OTHERWISE
- type in
python setup.py install
You may need administrator privileges for step 5. What you do here thus depends on your operating system. For example in Ubuntu you would say sudo python setup.py install
EDIT- thanks to kwatford (see first comment)
To bypass the need for administrator privileges during step 5 above you may be able to make use of the --user flag. In this way you can install the package only for the current user.
The docs say:
Files will be installed into subdirectories of site.USER_BASE (written as userbase hereafter). This scheme installs pure Python modules and extension modules in the same location (also known as site.USER_SITE). Here are the values for UNIX, including Mac OS X:
More details can be found here: http://docs.python.org/2.7/install/index.html
Solution 2:
To further explain Sheena's answer, I needed to have setup-tools installed as a dependency of another tool e.g. more-itertools.
Download
Click the Clone or download button and choose your method. I placed these into a dev/py/libs
directory in my user home directory. It does not matter where they are saved, because they will not be installed there.
- setuptools: https://github.com/pypa/setuptools
- more-itertools: https://github.com/erikrose/more-itertools
Installing setup-tools
You will need to run the following inside the setup-tools directory.
python bootstrap.py
python setup.py install
General dependencies installation
Now you can navigate to the more-itertools direcotry and install it as normal.
- Download the package
- Unpackage it if it's an archive
- Navigate (
cd ...
) into the directory containingsetup.py
- If there are any installation instructions contained in the documentation contained herein, read and follow the instructions OTHERWISE
- Type in:
python setup.py install
Solution 3:
Even though Sheena's answer does the job, pip
doesn't stop just there.
From Sheena's answer:
- Download the package
- unzip it if it is zipped
- cd into the directory containing setup.py
- If there are any installation instructions contained in documentation contained herein, read and follow the instructions OTHERWISE
- type in
python setup.py install
At the end of this, you'll end up with a .egg
file in site-packages
.
As a user, this shouldn't bother you. You can import
and uninstall
the package normally. However, if you want to do it the pip
way, you can continue the following steps.
In the site-packages
directory,
unzip <.egg file>
- rename the
EGG-INFO
directory as<pkg>-<version>.dist-info
- Now you'll see a separate directory with the package name,
<pkg-directory>
find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
-
find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD
. The>>
is to prevent overwrite.
Now, looking at the site-packages
directory, you'll never realize you installed without pip
. To uninstall
, just do the usual pip uninstall <pkg>
.