psy*_*ok7 50 python linux ubuntu pip
我刚刚安装了ubuntu 14.04LTS,我正在尝试使用pip,但我得到以下回溯:
(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
Run Code Online (Sandbox Code Playgroud)
有任何想法吗??我曾尝试sudo apt-get install python3-pip和sudo apt-get install python-pip
Tha*_*wda 55
我有同样的问题.这发生在Ubuntu - 14.04和Virtual环境的Python版本 - 2.7.3
花了一天时间进行调试,在这里发布我的答案,希望它对未来的访问者有所帮助.
我发现那io.py是调用_io模块.我认为_io模块是解释器的内部模块,所以,只需用python新版本替换环境中的二进制文件即可.
(就我而言,Cloudera Manager 5.x Agent在ubuntu 14.04上的virtualenv使用的是python解释器2.7.3,用2.7.6替换它.
echo "Using " && python2.7 --version
mv myenv/bin/python myenv/bin/python.bak;
cp `which python2.7` myenv/bin/python
Run Code Online (Sandbox Code Playgroud)
当创建一个新的virtualenv时,它使用来自系统的更新的python二进制文件.因此,这解释了线程中接受的答案.
Yuv*_*dam 50
由于Python系统库中的差异,你的virtualenv变得腐败.
最好的选择是重新安装你的virtualenv:
$ deactivate
$ rmvirtualenv nlmanagement
$ mkvirtualenv nlmanagement
$ pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
Gom*_*mes 22
您无需删除虚拟环境.
只需按照以下步骤操作
假设您的虚拟环境名称是"mydev"而您正在使用virtualenvwrapper,请执行此操作
cd $WORKON_HOME
virtualenv mydev
Run Code Online (Sandbox Code Playgroud)
上面的命令只是升级到python可执行文件的链接而不会丢失任何包.没有virtualenvwrapper,$WORKON_HOME可能没有定义; 那么你需要更改到virtualenv的父目录.
在virtualenv之外,如果你的点不工作,那么就是
easy_install pip
Run Code Online (Sandbox Code Playgroud)
将解决问题.
| 归档时间: |
|
| 查看次数: |
37010 次 |
| 最近记录: |