Python-没有名为pkg_resources的模块

发布于 2021-02-02 23:18:32

我正在将Django应用程序部署到开发服务器,并且在运行时遇到此错误pip install -r requirements.txt:

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resources似乎与一起分发setuptools。最初,我认为这可能不会安装到virtualenv中的Python,所以我setuptools 2.6使用以下命令将了(与Python相同的版本)安装到virtualenv中的Python站点软件包:

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

编辑:这只发生在virtualenv内部。如果我在virtualenv外部打开控制台,则该控制台pkg_resources存在,但仍然出现相同的错误。

关于为什么pkg_resources不在路上的任何想法?

关注者
0
被浏览
110
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    现在大多数人都应该使用pip install setuptools(可能与一起使用sudo)。

    有些人可能需要(重新)安装python-setuptools通过他们的软件包管理的软件包(apt-get install,yum install,等)。

    此问题可能高度取决于你的操作系统和开发环境。如果上述方法不适用于你,请参见下面的旧式/其他答案。

    说明

    此错误消息是由缺少/损坏的Python setuptools软件包引起的。根据Matt M.的注释和setuptools问题#581,以下引用的引导脚本不再是推荐的安装方法。

    引导脚本说明将保留在下面,以防对任何人有帮助。

    旧版答案

    ImportError今天我在尝试使用点子时遇到了同样的问题。不知何故,该setuptools软件包已在我的Python环境中删除。

    要解决此问题,请运行以下脚本setuptools:

    wget https://bootstrap.pypa.io/ez_setup.py -O - | python
    

    (或者,如果你尚未wget安装(例如OS X),请尝试

    curl https://bootstrap.pypa.io/ez_setup.py | python
    

    可能带有sudo前缀。)

    如果你使用的任何版本distribute,或setuptools0.6以下的版本,则必须先将其卸载。*

    有关更多详细信息,请参见安装说明。

    *如果你已经可以使用distribute,将其升级到将你切换到的“兼容性包装器” setuptools会更容易。但是,如果事情已经坏了,请不要尝试。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看