我刚刚重新安装了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

有任何想法吗?? 我已经尝试过sudo apt-get install python3-pipsudo apt-get install python-pip

===============>>#1 票数:55

我有同样的问题。 这发生在Ubuntu-14.04和虚拟环境的Python版本-2.7.3中

在调试了一天之后,在这里发布我的答案,希望它对将来的访问者有所帮助。

我发现io.py正在调用_io模块。 我认为_io模块是解释器的内部组件,因此,仅将环境中的python二进制文件替换为较新版本即可。

(在我的情况下,ubuntu 14.04上的Cloudera Manager 5.x Agent的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

创建新的virtualenv时,它将使用系统中更新的python二进制文件。 因此,这解释了线程中可接受的答案。

===============>>#2 票数:50 已采纳

由于Python系统库中的差异,您的virtualenv损坏了。

最好的选择是重新安装您的virtualenv:

$ deactivate
$ rmvirtualenv nlmanagement
$ mkvirtualenv nlmanagement
$ pip install -r requirements.txt

===============>>#3 票数:22

您无需删除虚拟环境。

只需按照以下步骤。

  1. 假设您的虚拟环境名称为“ mydev”,并且您正在使用virtualenvwrapper

     cd $WORKON_HOME virtualenv mydev 

    上面的命令只是将链接升级到python可执行文件,而不会丢失任何软件包。 如果没有virtualenvwrapper$WORKON_HOME可能无法定义$WORKON_HOME 那么您需要转到virtualenv的父目录。

  2. 在virtualenv外部,如果您的pip不起作用,那么就

     easy_install pip 

    将解决问题。

===============>>#4 票数:3

将我的ubuntu服务器升级到14.04之后,在执行pip时我也遇到了此类问题

ImportError: No module named _io

然后我发现只需重新安装virtualenv就可以解决此问题!

sudo pip install virtualenv --upgrade

===============>>#5 票数:2

原因之一是不良的“点”。 参见: https : //bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1373254

和/或它可能是virtualenv的问题: https ://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/1115466推荐的解决方法是:

  cd /usr/lib/python2.7
  ln -s plat-x86_64-linux-gnu/_sysconfigdata_nd.py .

===============>>#6 票数:0

您必须在损坏的virtualenv中替换python版本。

做这个:

  1. 创建一个新的Virtualenv

     mkvirtualenv MyNewTestEnv 
  2. 找到“ python”(在我的情况下,virtualenvs位于主目录中)

     cd ~/.virtualenvs/MyNewTestEnv/bin 
  3. 将“ python”从新的virtualenv复制到损坏的virtualenv中

     cp ~/.virtualenvs/MyNewTestEnv/bin/python ~/.virtualenvs/<yourCorruptedEnv>/bin 

而已。 现在,您的CorruptedEnv应该已修复。

===============>>#7 票数:0

如果您安装了不同的python版本。 您必须引用您的python

virtualenv -p /usr/bin/python2.7 myenv

要么

virtualenv -p /usr/bin/python3.x myenv

===============>>#8 票数:0

此解决方法适用于SuSE 12.2下载的python,并使用./configure进行了安装,并使其安装到/ usr / local文件夹中

安装的pip和virtualenv

尝试创建python虚拟环境时

*linux-t69c:/nkadic # virtualenv -p python venv2*
**ImportError: No module named _struct**
or (if manually setting PYTHONPATH)
**ImportError: No module named _io**

解决方法如下:

检查默认的sys.path python(不要更改默认的PYTHONPATH)

检查是否有库目录/usr/local/lib/python2.7/lib-dynload存在

如果不是,请创建到现有lib64路径的符号链接:

linux-t69c:/nkadic # ln -s /usr/local/lib64/python2.7/lib-dynload/  
/usr/local/lib/python2.7/lib-dynload
linux-t69c:/nkadic # ls -ltr /usr/local/lib/python2.7/lib-dynload
lrwxrwxrwx 1 root root 39 Aug 12 21:06 /usr/local/lib/python2.7/lib-dynload -> 
/usr/local/lib64/python2.7/lib-dynload/

解决此问题后,“ virtualenv -p python venv2”起作用

linux-t69c:/nkadic # virtualenv -p python venv2
Already using interpreter /usr/local/bin/python
PYTHONHOME is set.  You *must* activate the virtualenv before using it
New python executable in /nkadic/venv2/bin/python
Installing setuptools, pip, wheel...done.
linux-t69c:/nkadic # 

  ask by psychok7 translate from so

未解决问题?本站智能推荐:

1回复

在Ubuntu 18.04中使python模块适用于不同的用户[重复]

这个问题已经存在: 在ubuntu 18.04中在系统范围内安装模块 3天前关闭。 我的ubuntu中有两个用户
2回复

Ubuntu中的pip版本不同

我遇到有关Ubuntu中pip版本的问题,其区别如下: 这是我的虚拟机-Ubuntu 12.04.5 LTS(GNU / Linux 3.11.0-15-generic x86_64) 点的版本是6.0.8(6.XX): 另一个虚拟机是Ubuntu 14.04.3
2回复

如何在Ubuntu中安装GDAL?

我已经安装了Ubuntu 17.04版本,并且我想安装GDAL。 我尝试了几种安装方式,但是总是出现错误。 我已经安装了Python 2.7和Python 3.6,但是我想安装Python 2.7 我尝试按照以下步骤进行安装: 我有这个错误: 如果我使用sudo执行最后
1回复

在Python pip冻结中,三等号和ubuntu2是什么?

在我的AWS Ubuntu 14.04实例上,我刚刚执行了一个pip freeze > requirements.txt ,它给了我一个文件,其中还包括以下两行: 当我然后使用此文件在另一个AWS Ubuntu 14.04实例上执行pip install -r requiremen
5回复

Ubuntu 18.04上的“ E:无法找到软件包python-pip”

我正在尝试在Ubuntu上安装virtualenv。 首先,它说command 'pip' not found ,所以我输入了 然后它说 我尝试重置WSL,使用cmd下载,但不适用于Ubuntu。 我不知道为什么即使我使用cmd下载了python3,virtualenv和pip。 它不适用
1回复

如何在Ubuntu上安装指向Python3的自定义安装的Pip3?

我正在使用Ubuntu 17.04,并且已安装Python 2.7.13。 我想使用Python 3而不与Python 2.7.13冲突。 我已经从源代码安装并构建了Python 3,并且对其进行了别名没有问题。 现在, python指向系统默认的usr/bin/python ,并且我
7回复

使用pip3:模块“importlib._bootstrap”没有属性“SourceFileLoader”

我在Ubuntu 14上安装了python 3.6的pip。运行之后 安装pip3,效果很好。 但是,安装后,当我试图运行时 要安装一个新包,会发生一些奇怪的事情: 似乎我没有做错任何事,我真的无法弄清楚原因。
3回复

无法在虚拟环境中升级PIP

我正在尝试在虚拟环境中升级点子。 我在ubuntu 14.04机器中使用venvburrito包装器。 当我尝试更新它时,出现以下错误: 如果在虚拟环境中使用sudo尝试,则会出现以下错误: 当我在虚拟环境之外执行此操作时,它将正确安装。 任何帮助都感激不尽。 谢
3回复

Python ImportError:没有名为串行的模块

我已经在64位DELL LATITUDE E4300的Ubuntu 12.4上安装了Python 2.7.5,并运行: 尽管如此,在运行时: 我收到以下错误消息: 我查看了其他帖子,但没有一个可以帮助我解决此问题。 我不知道还能做什么: 和 任何帮助将不
2回复

Ubuntu 14.04:ImportError:没有名为客户端的模块

我尝试在Python 2.7中使用Paramiko,但无法在脚本中使用它。 我也安装了所有的包 但这行不通 看我的剧本 它返回 我也尝试使用此答案并删除我的/usr/local/lib/python2.7但没有任何变化。 此错误仅出现在Ubuntu中吗?