How to download files from a python program - bash

I'm trying to make a minecraft installer program in python.
currently, I've got a bash script I call with subprocess to download the files with wget, but that only works on linux.
is there a platform-independant python library for downloading files?
thanks,
martin

There is a lot of python library which can do that: urllib, urllib2, requests.
For instance with requests:
import requests
response = requests.get('http://www.example.com/file')
You may need to install requests with pip or your package manager. Using pip:
pip install requests

Related

google drive api and pip problems with pycharm and anaconda on macos [duplicate]

I'm trying to use pip to install a package. I try to run pip install from the Python shell, but I get a SyntaxError. Why do I get this error? How do I use pip to install the package?
>>> pip install selenium
^
SyntaxError: invalid syntax
pip is run from the command line, not the Python interpreter. It is a program that installs modules, so you can use them from Python. Once you have installed the module, then you can open the Python shell and do import selenium.
The Python shell is not a command line, it is an interactive interpreter. You type Python code into it, not commands.
Use the command line, not the Python shell (DOS, PowerShell in Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
If you installed Python into your PATH using the latest installers, you don't need to be in that folder to run pip
Terminal in Mac or Linux
$ pip install XYZ
As #sinoroc suggested correct way of installing a package via pip is using separate process since pip may cause closing a thread or may require a restart of interpreter to load new installed package so this is the right way of using the API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject']) but since Python allows to access internal API and you know what you're using the API for you may want to use internal API anyway eg. if you're building own GUI package manager with alternative resourcess like https://www.lfd.uci.edu/~gohlke/pythonlibs/
Following soulution is OUT OF DATE, instead of downvoting suggest updates. see https://github.com/pypa/pip/issues/7498 for reference.
UPDATE: Since pip version 10.x there is no more get_installed_distributions() or main method under import pip instead use import pip._internal as pip.
UPDATE ca. v.18 get_installed_distributions() has been removed. Instead you may use generator freeze like this:
from pip._internal.operations.freeze import freeze
print([package for package in freeze()])
# eg output ['pip==19.0.3']
If you want to use pip inside the Python interpreter, try this:
import pip
package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade'])
# --upgrade to install or update existing packages
If you need to update every installed package, use following:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
If you want to stop installing other packages if any installation fails, use it in one single pip.main([]) call:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Note: When you install from list in file with -r / --requirement parameter you do NOT need open() function.
pip.main(['install', '-r', 'filename'])
Warning: Some parameters as simple --help may cause python interpreter to stop.
Curiosity: By using pip.exe you actually use python interpreter and pip module anyway. If you unpack pip.exe or pip3.exe regardless it's python 2.x or 3.x, inside is the SAME single file __main__.py:
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
To run pip in Python 3.x, just follow the instructions on Python's page: Installing Python Modules.
python -m pip install SomePackage
Note that this is run from the command line and not the python shell (the reason for syntax error in the original question).
I installed python and when I run pip command it used to throw me an error like shown in pic below.
Make Sure pip path is added in environmental variables. For me, the python and pip installation path is::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
Both these paths were added to path in environmental variables.
Now Open a new cmd window and type pip, you should be seeing a screen as below.
Now type pip install <<package-name>>. Here I'm installing package spyder so my command line statement will be as pip install spyder and here goes my running screen..
and I hope we are done with this!!
you need to type it in cmd not in the IDLE. becuse IDLE is not an command prompt if you want to install something from IDLE type this
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
this is calling pip like pip <commands> in terminal. The commands will be seperated by spaces that you are doing there to.
If you are doing it from command line,
try -
python -m pip install selenium
or (for Python3 and above)
python3 -m pip install selenium

In setup.py, how to run a system command before any pip install?

I am creating a Python package with setup.py, and I need to run certain shell commands before pip attempts to install dependencies. In fact, I need these commands to run before setuptools makes network calls to PyPI.
(The nitty gritty context is that the system installing this package has an internet gateway which requires a certificate to be installed. I need to apply this system change before setuptools reaches out to the internet)
I'm aware of cmdclass -- do those commands run before the install_requires stage?
You can't run arbitrary commands at install time (for the reasons linked to by phd in a comment to your question).
Maybe there are tricks to make it possible, but they are bad practice and not even worth the trouble.
What I would rather recommend to do is just clearly document the pre-installation steps, and maybe write yourself a shell script (or Python script) that wraps the custom pre-install commands and the actual installation command.
import os
os.system('cmd /c "Your Command Prompt Command"')
write this code to setup.py file before pip install code

How to run scapy after installing

I have installed scapy using the command pip install scapy on my ubuntu terminal. I also have Python 2.7.17 installed. How do I run scapy in the ubuntu terminal? I have tried running the command: sudo ./scapy. My goal is to use scapy to sniff packets and record sending and receiving time of packets.
You can do
python -m scapy
to start the scapy module (-m) as a CLI tool
scapy is not an executable. Its a library used in python wich can be imported into python code:
import scapy.all as scapy
Then you can call scapy.ARP, scapy.Ether or layers/fields like in your code.
If you want to sniff for information from web for example, you need to inport layers too:
from scapy.layers import http
then you can search and filter using http.HTTPRequest:
if packet.haslayer(http.HTTPRequest):
print(packet.show())
to get an idea what fields you wnat to fetch, ex load from scapy.Raw:
packet[scapy.Raw].load
See documentation: https://scapy.readthedocs.io/en/latest/layers/http.html

Psycopg installation on windows

I am trying to install psycopg2 under Windows (Windows 7, 64 bit). I am using Python 2.7.2 from Python(x,y) and PostgreSQL 9.2.1 .
My first try was using the windows port that is downloadable from http://www.stickpeople.com/projects/python/win-psycopg/ (psycopg2-2.4.5.win-amd64-py2.7-pg9.1.3-release.exe). I get a message then that
Python 2.7 required but was not found in the registry
In the next dialogue it does not allow me to choose any python installations. All other programs and installations find my python happily.
This being failed, I tried to use the source package directly from http://pypi.python.org/pypi/psycopg2 but after trying:
python setup.py install
I am now stuck with the error message:
error: Unable to find vcvarsall.bat
Does anybody have an idea how to solve this?
You're using a different Python distribution to the one the psycopg2 installer expects, so it cannot find the Python install location.
You can manually install psycopg2 from the binaries you downloaded by following the instructions on the psycopg2 download page for issues installing with Zope, which read:
It has been noted that the the installers for psycopg2 will not find
the zope installation of python, stop the installation, and not
installing psycopg2. A work around is to extract the files by renaming
the extension from *.exe to *.zip and using a zip extractor (such as
WinZip/PkZip/7z) to extract the psycopg2 folder and place it at
\lib\python. I do not use Zope, so I will not be able to
provide support or instructions on how to use it. Let me know if it
does not work, though.
The same will apply to the Python(x,y) distribution that you are using. Unzip the psycopg2 installer .exe using 7-zip, then copy the psycopg2 folder and 'psycopg2-2.5.2-py2.7.egg-info' file (so 'psycopg2' will apear on 'pip freeze') into your Python lib\site-packages directory. See installing Python modules.
You should then be able to import psycopg2.
Choose the appropriate version from this page:
http://www.stickpeople.com/projects/python/win-psycopg/
Right click and select copy link address
Back at home, use easy_install <<Paste URL Here>>
Freeze your new requirements: pip freeze > requirements.txt

How do I install pip on Windows?

pip is a replacement for easy_install. But should I install pip using easy_install on Windows? Is there a better way?
Python 3.4+ and 2.7.9+
Good news! Python 3.4 (released March 2014) and Python 2.7.9 (released December 2014) ship with Pip. This is the best feature of any Python release. It makes the community's wealth of libraries accessible to everyone. Newbies are no longer excluded from using community libraries by the prohibitive difficulty of setup. In shipping with a package manager, Python joins Ruby, Node.js, Haskell, Perl, Go—almost every other contemporary language with a majority open-source community. Thank you, Python.
If you do find that pip is not available, simply run ensurepip.
On Windows:
py -3 -m ensurepip
Otherwise:
python3 -m ensurepip
Of course, that doesn't mean Python packaging is problem solved. The experience remains frustrating. I discuss this in the Stack Overflow question Does Python have a package/module management system?.
Python 3 ≤ 3.3 and 2 ≤ 2.7.8
Flying in the face of its 'batteries included' motto, Python ships without a package manager. To make matters worse, Pip was—until recently—ironically difficult to install.
Official instructions
Per https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip:
Download get-pip.py, being careful to save it as a .py file rather than .txt. Then, run it from the command prompt:
python get-pip.py
You possibly need an administrator command prompt to do this. Follow Start a Command Prompt as an Administrator (Microsoft TechNet).
This installs the pip package, which (in Windows) contains ...\Scripts\pip.exe that path must be in PATH environment variable to use pip from the command line (see the second part of 'Alternative Instructions' for adding it to your PATH,
Alternative instructions
The official documentation tells users to install Pip and each of its dependencies from source. That's tedious for the experienced and prohibitively difficult for newbies.
For our sake, Christoph Gohlke prepares Windows installers (.msi) for popular Python packages. He builds installers for all Python versions, both 32 and 64 bit. You need to:
Install setuptools
Install pip
For me, this installed Pip at C:\Python27\Scripts\pip.exe. Find pip.exe on your computer, then add its folder (for example, C:\Python27\Scripts) to your path (Start / Edit environment variables). Now you should be able to run pip from the command line. Try installing a package:
pip install httpie
There you go (hopefully)! Solutions for common problems are given below:
Proxy problems
If you work in an office, you might be behind an HTTP proxy. If so, set the environment variables http_proxy and https_proxy. Most Python applications (and other free software) respect these. Example syntax:
http://proxy_url:port
http://username:password#proxy_url:port
If you're really unlucky, your proxy might be a Microsoft NTLM proxy. Free software can't cope. The only solution is to install a free software friendly proxy that forwards to the nasty proxy. http://cntlm.sourceforge.net/
Unable to find vcvarsall.bat
Python modules can be partly written in C or C++. Pip tries to compile from source. If you don't have a C/C++ compiler installed and configured, you'll see this cryptic error message.
Error: Unable to find vcvarsall.bat
You can fix that by installing a C++ compiler such as MinGW or Visual C++. Microsoft actually ships one specifically for use with Python. Or try Microsoft Visual C++ Compiler for Python 2.7.
Often though it's easier to check Christoph's site for your package.
-- Outdated -- use distribute, not setuptools as described here. --
-- Outdated #2 -- use setuptools as distribute is deprecated.
As you mentioned pip doesn't include an independent installer, but you can install it with its predecessor easy_install.
So:
Download the last pip version from here: http://pypi.python.org/pypi/pip#downloads
Uncompress it
Download the last easy installer for Windows: (download the .exe at the bottom of http://pypi.python.org/pypi/setuptools ). Install it.
copy the uncompressed pip folder content into C:\Python2x\ folder (don't copy the whole folder into it, just the content), because python command doesn't work outside C:\Python2x folder and then run: python setup.py install
Add your python C:\Python2x\Scripts to the path
You are done.
Now you can use pip install package to easily install packages as in Linux :)
2014 UPDATE:
1) If you have installed Python 3.4 or later, pip is included with Python and should already be working on your system.
2) If you are running a version below Python 3.4 or if pip was not installed with Python 3.4 for some reason, then you'd probably use pip's official installation script get-pip.py. The pip installer now grabs setuptools for you, and works regardless of architecture (32-bit or 64-bit).
The installation instructions are detailed here and involve:
To install or upgrade pip, securely download get-pip.py.
Then run the following (which may require administrator access):
python get-pip.py
To upgrade an existing setuptools (or distribute), run pip install -U setuptools
I'll leave the two sets of old instructions below for posterity.
OLD Answers:
For Windows editions of the 64 bit variety - 64-bit Windows + Python used to require a separate installation method due to ez_setup, but I've tested the new distribute method on 64-bit Windows running 32-bit Python and 64-bit Python, and you can now use the same method for all versions of Windows/Python 2.7X:
OLD Method 2 using distribute:
Download distribute - I threw mine in C:\Python27\Scripts (feel free to create a Scripts directory if it doesn't exist.
Open up a command prompt (on Windows you should check out conemu2 if you don't use PowerShell) and change (cd) to the directory you've downloaded distribute_setup.py to.
Run distribute_setup: python distribute_setup.py (This will not work if your python installation directory is not added to your path - go here for help)
Change the current directory to the Scripts directory for your Python installation (C:\Python27\Scripts) or add that directory, as well as the Python base installation directory to your %PATH% environment variable.
Install pip using the newly installed setuptools: easy_install pip
The last step will not work unless you're either in the directory easy_install.exe is located in (C:\Python27\Scripts would be the default for Python 2.7), or you have that directory added to your path.
OLD Method 1 using ez_setup:
from the setuptools page --
Download ez_setup.py and run it; it will download the appropriate .egg file and install it for you. (Currently, the provided .exe installer does not support 64-bit versions of Python for Windows, due to a distutils installer compatibility issue.
After this, you may continue with:
Add c:\Python2x\Scripts to the Windows path (replace the x in Python2x with the actual version number you have installed)
Open a new (!) DOS prompt. From there run easy_install pip
2016+ Update:
These answers are outdated or otherwise wordy and difficult.
If you've got Python 3.4+ or 2.7.9+, it will be installed by default on Windows. Otherwise, in short:
Download the pip installer:
https://bootstrap.pypa.io/get-pip.py
If paranoid, inspect file to confirm it isn't malicious
(must b64 decode).
Open a console in the download folder as Admin and run
get-pip.py. Alternatively, right-click its icon in Explorer and choose the "run as Admin...".
The new binaries pip.exe (and the deprecated easy_install.exe) will be found in the "%ProgramFiles%\PythonXX\Scripts" folder (or similar), which is often not in your PATH variable. I recommend adding it.
Python 3.4, which was released in March 2014, comes with pip included:
http://docs.python.org/3.4/whatsnew/3.4.html
So, since the release of Python 3.4, the up-to-date way to install pip on Windows is to just install Python.
The recommended way to use it is to call it as a module, especially with multiple python distributions or versions installed, to guarantee packages go to the correct place:
python -m pip install --upgrade packageXYZ
https://docs.python.org/3/installing/#work-with-multiple-versions-of-python-installed-in-parallel
When I have to use Windows, I use ActivePython, which automatically adds everything to your PATH and includes a package manager called PyPM which provides binary package management making it faster and simpler to install packages.
pip and easy_install aren't exactly the same thing, so there are some things you can get through pip but not easy_install and vice versa.
My recommendation is that you get ActivePython Community Edition and don't worry about the huge hassle of getting everything set up for Python on Windows. Then, you can just use pypm.
In case you want to use pip you have to check the PyPM option in the ActiveState installer. After installation you only need to logoff and log on again, and pip will be available on the commandline, because it is contained in the ActiveState installer PyPM option and the paths have been set by the installer for you already. PyPM will also be available, but you do not have to use it.
The up-to-date way is to use Windows' package manager Chocolatey.
Once this is installed, all you have to do is open a command prompt and run the following the three commands below, which will install Python 2.7, easy_install and pip. It will automatically detect whether you're on x64 or x86 Windows.
cinst python
cinst easy.install
cinst pip
All of the other Python packages on the Chocolatey Gallery can be found here.
Update March 2015
Python 2.7.9 and later (on the Python 2 series), and Python 3.4 and later include pip by default, so you may have pip already.
If you don't, run this one line command on your prompt (which may require administrator access):
python -c "exec('try: from urllib2 import urlopen \nexcept: from urllib.request import urlopen');f=urlopen('https://bootstrap.pypa.io/get-pip.py').read();exec(f)"
It will install pip. If Setuptools is not already installed, get-pip.py will install it for you too.
As mentioned in comments, the above command will download code from the Pip source code repository at GitHub, and dynamically run it at your environment. So be noticed that this is a shortcut of the steps download, inspect and run, all with a single command using Python itself. If you trust Pip, proceed without doubt.
Be sure that your Windows environment variable PATH includes Python's folders (for Python 2.7.x default install: C:\Python27 and C:\Python27\Scripts, for Python 3.3x: C:\Python33 and C:\Python33\Scripts, and so on).
Installers
I've built Windows installers for both distribute and pip here (the goal being to use pip without having to either bootstrap with easy_install or save and run Python scripts):
distribute-0.6.27.win32.exe
pip-1.1.win32.exe
On Windows, simply download and install first distribute, then pip from the above links. The distribute link above does contain stub .exe installers, and these are currently 32-bit only. I haven't tested the effect on 64-bit Windows.
Building on Windows
The process to redo this for new versions is not difficult, and I've included it here for reference.
Building distribute
In order to get the stub .exe files, you need to have a Visual C++ compiler (it is apparently compilable with MinGW as well)
hg clone https://bitbucket.org/tarek/distribute
cd distribute
hg checkout 0.6.27
rem optionally, comment out tag_build and tag_svn_revision in setup.cfg
msvc-build-launcher.cmd
python setup.py bdist_win32
cd ..
echo build is in distribute\dist
Building pip
git clone https://github.com/pypa/pip.git
cd pip
git checkout 1.1
python setup.py bdist_win32
cd ..
echo build is in pip\dist
The following works for Python 2.7. Save this script and launch it:
https://raw.github.com/pypa/pip/master/contrib/get-pip.py
Pip is installed, then add the path to your environment :
C:\Python27\Scripts
Finally
pip install virtualenv
Also you need Microsoft Visual C++ 2008 Express to get the good compiler and avoid these kind of messages when installing packages:
error: Unable to find vcvarsall.bat
If you have a 64-bit version of Windows 7, you may read 64-bit Python installation issues on 64-bit Windows 7 to successfully install the Python executable package (issue with registry entries).
For the latest Python download - I have Python 3.6 on Windows. You don't have to wonder. Everything you need is there. Take a breath, and I will show you how to do it.
Make sure where you install Python. For me, it was in the following directory
Now, let’s add the Python and pip into environment variable path settings
if you are on Windows, so that typing pip or python anywhere call
python or pip from where they are installed.
So, PIP is found under the folder in the above screen "SCRIPTS"
Let's add Python and PIP in the environment variable path.
Almost done. Let's test with CMD to install the google package using pip.
pip install google
To install pip globally on Python 2.x, easy_install appears to be the best solution as Adrián states.
However the installation instructions for pip recommend using virtualenv since every virtualenv has pip installed in it automatically. This does not require root access or modify your system Python installation.
Installing virtualenv still requires easy_install though.
2018 update:
Python 3.3+ now includes the venv module for easily creating virtual environments like so:
python3 -m venv /path/to/new/virtual/environment
See documentation for different platform methods of activating the environment after creation, but typically one of:
$ source <venv>/bin/activate
C:\> <venv>\Scripts\activate.bat
To use pip, it is not mandatory that you need to install pip in the system directly. You can use it through virtualenv. What you can do is follow these steps:
Download virtualenv tar.gz file from https://pypi.python.org/pypi/virtualenv
Unzip it with 7zip or some other tool
We normally need to install Python packages for one particular project. So, now create a project folder, let’s say myproject.
Copy the virtualenv.py file from the decompressed folder of virtualenv, and paste inside the myproject folder
Now create a virtual environment, let’s say myvirtualenv as follows, inside the myproject folder:
python virtualenv.py myvirtualenv
It will show you:
New python executable in myvirtualenv\Scripts\python.exe
Installing setuptools....................................done.
Installing pip.........................done.
Now your virtual environment, myvirtualenv, is created inside your project folder. You might notice, pip is now installed inside you virtual environment. All you need to do is activate the virtual environment with the following command.
myvirtualenv\Scripts\activate
You will see the following at the command prompt:
(myvirtualenv) PATH\TO\YOUR\PROJECT\FOLDER>pip install package_name
Now you can start using pip, but make sure you have activated the virtualenv looking at the left of your prompt.
This is one of the easiest way to install pip i.e. inside virtual environment, but you need to have virtualenv.py file with you.
For more ways to install pip/virtualenv/virtualenvwrapper, you can refer to thegauraw.tumblr.com.
Updated at 2016 : Pip should already be included in Python 2.7.9+ or 3.4+, but if for whatever reason it is not there, you can use the following one-liner.
Download https://bootstrap.pypa.io/get-pip.py and run it with Administrator permission python get-pip.py (If you are on Linux, use sudo python get-pip.py)
PS:
This should already be satisfied in most cases but, if necessary, be sure that your environment variable PATH includes Python's folders (for example, Python 2.7.x on Windows default install: C:\Python27 and C:\Python27\Scripts, for Python 3.3x: C:\Python33 and C:\Python33\Scripts, etc)
I encounter same problem and then found such perhaps easiest way (one liner!) mentioned on official website here: http://www.pip-installer.org/en/latest/installing.html
Can't believe there are so many lengthy (perhaps outdated?) answers out there. Feeling thankful to them but, please up-vote this short answer to help more new comers!
I just wanted to add one more solution for those having issues installing setuptools from Windows 64-bit. The issue is discussed in this bug on python.org and is still unresolved as of the date of this comment. A simple workaround is mentioned and it works flawlessly. One registry change did the trick for me.
Link: http://bugs.python.org/issue6792#
Solution that worked for me...:
Add this registry setting for 2.6+ versions of Python:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath]
#="C:\\Python26\\"
This is most likely the registry setting you will already have for Python 2.6+:
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath]
#="C:\\Python26\\"
Clearly, you will need to replace the 2.6 version with whatever version of Python you are running.
The best way I found so far, is just two lines of code:
curl http://python-distribute.org/distribute_setup.py | python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
It was tested on Windows 8 with PowerShell, Cmd, and Git Bash (MinGW).
And you probably want to add the path to your environment. It's somewhere like C:\Python33\Scripts.
PythonXY comes with pip included, among others.
I use the cross-platform Anaconda package manager from continuum.io on Windows and it is reliable. It has virtual environment management and a fully featured shell with common utilities (e.g. conda, pip).
> conda install <package> # access distributed binaries
> pip install <package> # access PyPI packages
conda also comes with binaries for libraries with non-Python dependencies, e.g. pandas, numpy, etc. This proves useful particularly on Windows as it can be hard to correctly compile C dependencies.
Here how to install pip the easy way.
Copy and paste this content in a file as get-pip.py.
Copy and paste get-pip.py into the Python folder.C:\Python27.
Double click on get-pip.py file. It will install pip on your computer.
Now you have to add C:\Python27\Scripts path to your environment variable. Because it includes the pip.exe file.
Now you are ready to use pip. Open cmd and type as pip install package_name
I had some issues installing in different ways when I followed instructions here. I think it's very tricky to install in every Windows environment in the same way. In my case I need Python 2.6, 2.7 and 3.3 in the same machine for different purposes so that's why I think there're more problems.
But the following instructions worked perfectly for me, so might be depending on your environment you should try this one:
http://docs.python-guide.org/en/latest/starting/install/win/
Also, due to the different environments I found incredible useful to use Virtual Environments, I had websites that use different libraries and it's much better to encapsulate them into a single folder, check out the instructions, briefly if PIP is installed you just install VirtualEnv:
pip install virtualenv
Into the folder you have all your files run
virtualenv venv
And seconds later you have a virtual environment with everything in venv folder, to activate it run venv/Scripts/activate.bat (deactivate the environment is easy, use deactivate.bat). Every library you install will end up in venv\Lib\site-packages and it's easy to move your whole environment somewhere.
The only downside I found is some code editors can't recognize this kind of environments, and you will see warnings in your code because imported libraries are not found. Of course there're tricky ways to do it but it would be nice editors keep in mind Virtual Environments are very normal nowadays.
Hope it helps.
Download script: https://raw.github.com/pypa/pip/master/contrib/get-pip.py
Save it on drive somewhere like C:\pip-script\get-pip.py
Navigate to that path from command prompt and run " python get-pip.py "
Guide link: http://www.pip-installer.org/en/latest/installing.html#install-pip
Note: Make sure scripts path like this (C:\Python27\Scripts) is added int %PATH% environment variable as well.
It's very simple:
Step 1: wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
Step 2: wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
Step 2: python ez_setup.py
Step 3: python get-pip.py
(Make sure your Python and Python script directory (for example, C:\Python27 and C:\Python27\Scripts) are in the PATH.)
Working as of Feb 04 2014 :):
If you have tried installing pip through the Windows installer file from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip as suggested by #Colonel Panic, you might have installed the pip package manager successfully, but you might be unable to install any packages with pip. You might also have got the same SSL error as I got when I tried to install Beautiful Soup 4 if you look in the pip.log file:
Downloading/unpacking beautifulsoup4
Getting page https://pypi.python.org/simple/beautifulsoup4/
Could not fetch URL https://pypi.python.org/simple/beautifulsoup4/: **connection error: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed**
Will skip URL https://pypi.python.org/simple/beautifulsoup4/ when looking for download links for beautifulsoup4
The problem is an issue with an old version of OpenSSL being incompatible with pip 1.3.1 and above versions. The easy workaround for now, is to install pip 1.2.1, which does not require SSL:
Installing Pip on Windows:
Download pip 1.2.1 from https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz
Extract the pip-1.2.1.tar.gz file
Change directory to the extracted folder: cd <path to extracted folder>/pip-1.2.1
Run python setup.py install
Now make sure C:\Python27\Scripts is in PATH because pip is installed in the C:\Python27\Scripts directory unlike C:\Python27\Lib\site-packages where Python packages are normally installed
Now try to install any package using pip.
For example, to install the requests package using pip, run this from cmd:
pip install requests
Whola! requests will be successfully installed and you will get a success message.
Simple CMD way
Use CURL to download get-pip.py:
curl --http1.1 https://bootstrap.pypa.io/get-pip.py --output get-pip.py
Execute the downloaded Python file
python get-pip.py
Then add C:\Python37\Scripts path to your environment variable. It assumes that there is a Python37 folder in your C drive. That folder name may vary according to the installed Python version
Now you can install Python packages by running
pip install awesome_package_name
Installing Pip for Python 2 and Python 3
Download get-pip.py to a folder on your computer.
Open a command prompt and navigate to the folder containing get-pip.py.
Run the following command:python get-pip.py, python3 get-pip.py or python3.6 get-pip.py, depending on which version of Python you want to install pip
Pip should be now installed!
Old answer (still valid)
Try:
python -m ensurepip
It's probably the easiest way to install pip on any system.
If you even have other problems with the pip version, you can try this:
pip install --trusted-host pypi.python.org --upgrade pip
pip is already installed if you're using Python 2 >= 2.7.9 or Python 3 >= 3.4 binaries downloaded from python.org, but you'll need to upgrade pip.
On Windows, the upgrade can be done easily:
Go to a Python command line and run the below Python command
python -m pip install -U pip
Installing with get-pip.py
Download get-pip.py in the same folder or any other folder of your choice. I am assuming you will download it in the same folder from where you have the python.exe file and run this command:
python get-pip.py
Pip's installation guide is pretty clean and simple.
Using this, you should be able to get started with Pip in under two minutes.
Now, it is bundled with Python. You don't need to install it.
pip -V
This is how you can check whether pip is installed or not.
In rare cases, if it is not installed, download the get-pip.py file and run it with Python as
python get-pip.py
I think the question makes it seem like the answer is simpler than it really is.
Running of pip will sometimes require native compilation of a module (64-bit NumPy is a common example of that). In order for pip's compilation to succeed, you need Python which was compiled with the same version of Microsoft Visual C++ as the one pip is using.
Standard Python distributions are compiled with Microsoft Visual C++ 2008. You can install an Express version of Microsoft Visual C++ 2008, but it is not maintained. Your best bet is to get an express version of a later Microsoft Visual C++ and compile Python. Then PIP and Python will be using the same Microsoft Visual C++ version.
Just download setuptools-15.2.zip (md5), from here https://pypi.python.org/pypi/setuptools#windows-simplified , and run ez_setup.py.

Resources