【问题标题】:ImportError: No module named pkg_resources when running pip on Amazon EC2ImportError:在 Amazon EC2 上运行 pip 时没有名为 pkg_resources 的模块
【发布时间】:2015-04-22 10:45:02
【问题描述】:

我正在尝试使用 django 设置 EC2 实例,但我在安装任何东西时遇到问题。我跑了sudo apt-get updateupgrade -y。但是当我尝试运行它声称已安装的 pip 时,我得到了这个:

ubuntu@ip-172-31-62-51:/home$ pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

当我尝试sudo apt-get upgrade -y 时,我明白了:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  linux-headers-virtual linux-image-virtual linux-virtual
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up python-pip (1.0-1build1) ...
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 36, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named ConfigParser
dpkg: error processing python-pip (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up python-twisted-names (11.1.0-1) ...
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 36, in <module>
    from debpython.version import SUPPORTED, debsorted, vrepr, \
  File "/usr/share/python/debpython/version.py", line 24, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named ConfigParser
dpkg: error processing python-twisted-names (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 python-pip
 python-twisted-names
E: Sub-process /usr/bin/dpkg returned an error code (1)

我实际上在尝试使用 apt-get 进行任何操作时都会遇到此错误。

而且每当我尝试实际使用 pip 时,我都会得到:

ubuntu@ip-172-31-62-51:/home$ sudo pip install virtualenv
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

当我尝试使用 apt-add-repository ppa:chris-lea/nodejs(因为 sudo apt-get install nodejs 不起作用)我得到:

ubuntu@ip-172-31-62-51:/home$ sudo apt-add-repository ppa:chris-lea/nodejs
  File "/usr/bin/apt-add-repository", line 37
    print _("The %s named '%s' has no PPA named '%s'"
          ^
SyntaxError: invalid syntax

我之前有它工作过,但我在使用 pip 时遇到了同样的问题,我尝试了一个使用 Ubuntu Server 12 而不是 14 的新实例,但我遇到了同样的问题。虽然在 14 日我无法安装 nginx,但在 12 日我可以。我能够安装 ruby​​ 以及像 sass/scss 这样的 ruby​​ gem。我在没有新仓库的情况下安装了节点。但是,npm 不会通过 apt-get 安装,与以前相同的错误。为什么会这样?我什至无法安装 virtualenv,我不能将它用于开发,因为它甚至没有我生产产品所需的所有项目。是 ubuntu 12 的问题吗(尽管 14 也有问题)。我应该切换到另一个 AMI 吗?

知道为什么事情不正常吗?

谢谢

编辑:如果我尝试使用 apt 删除 pip,我会遇到同样的错误。

【问题讨论】:

  • 你有没有做一些有趣的事情,比如在服务器上升级 Python 或使用sudo pip 安装任何库?在全新的 EC2 Ubuntu 安装上,这绝对不会发生,所以也许我们对全新或不同的基础映像有不同的概念。
  • 我试过了,还是不行
  • 是的,这是一个全新的实例,我除了安装 ruby​​、gunicorn 和 nginx 什么都没做
  • 我设法通过启动一个新实例来使其工作。仍然不是真正的问题。我尝试了一个预制的 AMI 并遇到了同样的问题,然后从头开始尝试另一个实例并开始工作。令人困惑。

标签: python django node.js amazon-ec2 apt


【解决方案1】:

切换到新的 EC2 实例可以解决问题。

【讨论】:

    【解决方案2】:

    使用'sudo pip install xxx',它解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-28
      • 2015-10-04
      • 2015-07-03
      • 2013-08-24
      • 1970-01-01
      • 2011-11-18
      • 2017-09-26
      相关资源
      最近更新 更多