当前位置: 首页 > 面试题库 >

Python-没有名为pkg_resources的模块

周超英
2023-03-14
问题内容

我正在将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不在路上的任何想法?


问题答案:

现在大多数人都应该使用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会更容易。但是,如果事情已经坏了,请不要尝试。



 类似资料:
  • 问题内容: 我正在将Django应用程序部署到开发服务器,并且在运行时遇到此错误: 似乎与一起分发。最初,我认为这可能不会安装到virtualenv中的Python,所以我使用以下命令将了(与Python相同的版本)安装到virtualenv 中的Python站点软件包: 编辑:这只发生在virtualenv内部。如果我在virtualenv外部打开控制台,则该控制台存在,但仍然出现相同的错误。

  • 问题内容: 在网上搜索了几个小时后,我仍未找到解决问题的答案。我正在使用Python 3.6,并且无法导入selenium。我总是收到“没有名为’selenium的模块’的消息。我尝试了一切,我首先从此网站https://pypi.python.org/pypi/selenium/3.6.0下载了selenium。 然后,我尝试了python -m pip install -U selenium,

  • 问题内容: 我刚刚在Mac上将Python更新为2.6.4。我是从dmg软件包安装的。 二进制文件似乎没有正确设置我的Python路径,因此我添加了 显然,这不是所有必需的路径,因为我无法运行iPython。 我已经完成了Google搜索,但无法真正确定如何安装或确保它已经在路上。 我需要怎么做才能解决此问题? 问题答案: [更新] TL; DR由Distribute或setuptools提供。

  • 问题内容: 我刚刚通过运行在Fedora 25(64位)上安装了Python 3.6,并且我无法使用任何模块,否则Python 3.5可以正常使用,例如,PyCharm抱怨未安装安装工具,我也可以运行python3并发出: 但是,如果运行python36然后: 我反而得到: 追溯(最近一次呼叫最近):ModuleNotFoundError中的文件“”,第1行:没有名为“ aiohttp”的模块 在

  • 问题内容: 我正在运行Mac OS 10.6.8。并希望除了python 2.6之外还安装python 2.7,并在新的virtualenv中使用python 2.7。我执行了以下步骤: 我下载并安装了python 2.7: 然后,我运行命令使用python2.7设置新的virtualenv: 我的.bash_profile如下所示: 现在,当我打开控制台时,出现以下错误消息。 我还在另一篇文章中

  • 相反,我得到: Traceback(最近调用最后一次):文件“”,第1行,在ModuleNotFounderRor中:没有名为'AIOHTTP'的模块 Pip在python36上也不存在,因为Python36-M Pip抛出: /usr/bin/python36:没有名为pip的模块 我必须注意,我已经同时安装了python 3.4、3.5和3.6,3.4和3.5都可以正常工作