I just fresh installed ubuntu 14.04LTS and i am trying to use pip but i am getting the following traceback:
(nlmanagement)psychok7@Ultrabook:~/code/work/nlmanagement$ pip freeze
Traceback (most recent call last):
File "/home/psychok7/code/work/venv/nlmanagement/bin/pip", line 9, in <module>
load_entry_point('pip==1.1', 'console_scripts', 'pip')()
File "/home/psychok7/code/work/venv/nlmanagement/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 337, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/home/psychok7/code/work/venv/nlmanagement/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 2279, in load_entry_point
return ep.load()
File "/home/psychok7/code/work/venv/nlmanagement/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 1989, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/home/psychok7/code/work/venv/nlmanagement/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 10, in <module>
from pip.backwardcompat import walk_packages, console_to_str
File "/home/psychok7/code/work/venv/nlmanagement/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/backwardcompat.py", line 77, in <module>
from urllib2 import URLError, HTTPError
File "/usr/lib/python2.7/urllib2.py", line 94, in <module>
import httplib
File "/usr/lib/python2.7/httplib.py", line 79, in <module>
import mimetools
File "/usr/lib/python2.7/mimetools.py", line 6, in <module>
import tempfile
File "/usr/lib/python2.7/tempfile.py", line 32, in <module>
import io as _io
File "/usr/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: No module named _io
any ideas?? i have tried sudo apt-get install python3-pip
and sudo apt-get install python-pip
I had the same problem. This happened in Ubuntu - 14.04 and Virtual environment's Python version - 2.7.3
After spending a day in debugging, posting my answer here, hope it helps for future visitors.
I found that
io.py
is invoking_io
module. I think_io
module is internal to the interpreter, so, just replacing thepython
binary in the environment alone with the newer version should fix.(In my case, Cloudera Manager 5.x Agent's virtualenv on ubuntu 14.04 was using python interpreter 2.7.3, replaced it with 2.7.6.
When a new virtualenv is created, it uses updated python binary from the system. Hence, that explains the accepted answer in the thread.
You don't need to delete the virtual environment.
Just follow these steps.
Let's say your virtual environment name is "mydev" and you are using
virtualenvwrapper
, doThe above command just upgrades the link to the python executable without losing any package. Without
virtualenvwrapper
,$WORKON_HOME
might not be defined; then you need to change to the parent directory of the virtualenv.outside virtualenv, if your pip is not working, then just
will resolve the issue.
Your virtualenv became corrupt due to diffs in the Python system lib.
Best choice is to reinstall your virtualenv:
This workaround applies to SuSE 12.2 Downloaded python and installed it with ./configure and make install to defult /usr/local folder
Installed pip and virtualenv
When trying to create python virtual env
Here is the workaround:
Check default sys.path python (do not change default PYTHONPATH)
check if there are libs dir /usr/local/lib/python2.7/lib-dynload exists
if not, create symlink to existing lib64 path:
After this workaround "virtualenv -p python venv2" works
You have to replace the python version in your corrupted virtualenv.
Do this:
Create a new Virtualenv
Locate "python" (in my case the virtualenvs are located in the home directory)
Copy "python" from the new virtualenv into your corrupted virtualenv
That's it. Now your CorruptedEnv should be fixed.
If you have installed different python versions. You must reference your python
or