ImportError: cannot import name main when running pip --version command in windows7 32 bit
I've installed the latest python (2.7.9) bundled with pip and setuptools for windows 32-bit. I've tried reinstalling pip but the problem persists.
Here's the error after running pip --version
in Administrator cmd:
Traceback (most recent call last):
File "D:\Python\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "D:\Python\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "D:\Python\Scripts\pip.exe\__main__.py", line 5, in <module>
ImportError: cannot import name main
Solution 1:
The bug is found in pip 10.0.0.
In linux you need to modify file: /usr/bin/pip from:
from pip import main
if __name__ == '__main__':
sys.exit(main())
to this:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
Solution 2:
Even though the original question seems to be from 2015, this 'bug' seems to affect users installing pip-10.0.0
as well.
The workaround is not to modify pip
, however to change the way pip is called. Instead of calling /usr/bin/pip
call pip
via Python itself. For example, instead of the below:
pip install <package>
If from Python version 2 (or default Python binary is called python
) do :
python -m pip install <package>
or if from Python version 3:
python3 -m pip install <package>
Solution 3:
On Ubuntu Server 16, I have the same problem with python27. Try this:
Change
from pip import main
if __name__ == '__main__':
sys.exit(main())
To
from pip._internal import main
if __name__ == '__main__':
sys.exit(main())
Solution 4:
On Windows 10, I used the following commands to downgrade pip:
python -m pip uninstall pip
python -m pip install pip==9.0.3
This should also work on Linux and Mac too.