没有名为 pkg_resources 的模块

2024-12-18 08:39:00
admin
原创
145
摘要:问题描述:我正在将 Django 应用程序部署到开发服务器,运行时出现此错误pip install -r requirements.txt:Traceback (most recent call last): File "/var/www/mydir/virtualenvs/dev/bin/pi...

问题描述:

我正在将 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。最初我以为它可能没有安装到虚拟环境中的 Python 中,因此我setuptools 2.6使用以下命令将(与 Python 相同的版本)安装到虚拟环境中的 Python 站点包中:

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

编辑:这只发生在虚拟环境中。如果我在虚拟环境之外打开控制台,则会pkg_resources出现,但我仍然会收到相同的错误。

关于为什么pkg_resources不在路径上,有什么想法吗?


解决方案 1:

2018 年 7 月更新

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

有些人可能需要python-setuptools通过他们的包管理器(apt-get installyum install等)来(重新)安装该包。

此问题可能高度依赖于您的操作系统和开发环境。如果上述方法对您不起作用,请参阅下面的旧版/其他答案。

解释

此错误消息是由缺失或损坏的 Pythonsetuptools包引起的。根据 Matt M. 的评论和setuptools 问题 #581,下面提到的 bootstrap 脚本不再是推荐的安装方法。

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

遗留答案

ImportError我今天尝试使用 pip 时遇到了同样的问题。不知何故,该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,或setuptools低于 0.6 的版本,您必须先将其卸载。*

请参阅安装说明以了解更多详细信息。


  • 如果您已经有一个可以运行的distribute,那么将其升级到可以切换至的“兼容性包装器”setuptools会更容易。但如果已经出现问题,请不要尝试这样做。

解决方案 2:

sudo apt-get install --reinstall python-pkg-resources

在 Debian 中帮我修复了这个问题。似乎卸载一些 .deb 包(我的情况是 twisted set)破坏了 python 查找包的路径

解决方案 3:

我在尝试将 rhodecode 安装到 ubuntu 13.10 上的虚拟环境中时看到了此错误。对我来说,解决方案是运行

pip install --upgrade setuptools
pip install --upgrade distribute 

在我运行easy_install rhodecode之前。

解决方案 4:

我也遇到过这种情况。我认为如果 requirements.txt 包含“distribute”条目,而虚拟环境使用 setuptools,就会出现问题。Pip 将尝试修补 setuptools 以腾出空间用于分发,但不幸的是它会在中途失败。

简单的解决方案是删除当前的虚拟环境,然后使用 --distribute 参数创建一个新的虚拟环境。

使用 virtualenvwrapper 的示例:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt

解决方案 5:

尝试了其中几个答案之后,然后联系了一位同事,在 Ubuntu 16.04 上对我有用的是:

pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip

就我而言,只有旧版本的 Pillow 3.1.1 出现了问题(Pillow 4.x 运行良好),现在问题已经解决了!

解决方案 6:

在 CentOS 6 中安装包 python-setuptools 解决了这个问题。

yum install python-setuptools

解决方案 7:

很多答案都推荐以下内容,但如果您阅读该脚本的源代码,您就会意识到它已被弃用。

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

如果你的 pip 也坏了,这也将不起作用。

pip install setuptools

我发现我必须运行确保 pip、setuptools 和 wheel 是最新的命令,才能让 pip 再次工作。

python -m pip install --upgrade pip setuptools wheel

解决方案 8:

我之前遇到过此错误,评分最高的答案在尝试下载文件时出错ez_setup.py。我找到了另一个来源,因此您可以运行以下命令:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

我发现我还必须使用sudo才能使其工作,因此您可能需要运行:

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

我还创建了另一个可以下载脚本的位置:

https://gist.github.com/ajtrichards/42e73562a89edb1039f3

解决方案 9:

需要多一点 sudo。然后使用 easy_install 安装 pip。成功了。

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

解决方案 10:

我在诗歌环境中遇到了这个错误。

我采取的解决方法:

  1. 添加 setuptools 作为开发依赖项

poetry add --dev setuptools
  1. 在 poetry 环境中安装 setuptools

poetry run pip install setuptools

解决方案 11:

如果您使用的是 python3 ,则可以使用该命令
sudo apt-get install --reinstall python3-pkg-resources
,我的情况就是如此。

解决方案 12:

我通过执行以下操作修复了 virtualenv 的错误:

从以下位置复制 pkg_resources.py

/Library/Python/2.7/site-packages/setuptools

/Library/Python/2.7/site-packages/

这可能是一种廉价的解决方法,但对我来说很有效。

如果安装工具不存在,您可以尝试通过键入来安装 system-site-packages virtualenv --system-site-packages /DESTINATION DIRECTORY,将最后一部分更改为您要安装到的目录。pkg_rousources.py将位于 lib/python2.7/site-packages 中的该目录下

解决方案 13:

在 Windows 上,使用 Python 3.7,这对我有用:

pip install --upgrade setuptools --user

--user在您的主目录中安装软件包,这不需要管理员权限。

解决方案 14:

我在安装最新版 Python 后遇到了这个问题3.10.4。不知怎么的,setuptools包和 pip 被删除了。

我使用以下命令来解决问题:在[Windows]中

py -m ensurepip --default-pip

解决方案 15:

简单的解决方法是,您可以使用 conda 来升级 setuptools 或整个环境。(特别是对于 Windows 用户。)

conda upgrade -c anaconda setuptools

如果setuptools被删除,则需要重新安装setuptools。

conda install -c anaconda setuptools

如果以上方法都不行,可以升级 conda 环境,但是不建议重新安装卸载某些包,因为这样会让情况更加严重。

解决方案 16:

对我来说,这个错误是因为我有一个叫“site”的子目录!我不知道这是否是 pip 的错误,但我开始这样做:

/some/dir/requirements.txt /some/dir/site/

pip install -r requirements.txt 不起作用,出现上述错误!

将子文件夹从“site”重命名为“src”解决了问题!也许 pip 正在寻找“site-packages”?太疯狂了。

解决方案 17:

对我来说,这原来是权限问题site-packages。由于这只是我的开发环境,我提高了权限,一切又恢复正常了:

sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/

解决方案 18:

当我以与创建者不同的用户身份激活虚拟环境时,我遇到了这个问题。这似乎是权限问题。当我尝试 @cwc 的答案并在输出中看到以下内容时,我发现了这一点:

Installing easy_install script to /path/env/bin
error: /path/env/bin/easy_install: Permission denied

切换回创建虚拟环境的用户,然后运行原始pip install命令,没有任何问题。希望这能有所帮助!

解决方案 19:

我今天也遇到了这个问题。我只在虚拟环境中遇到了这个问题。

对我来说,解决方案是停用虚拟环境,删除虚拟环境,然后用 pip 卸载它,然后重新安装它。之后,我为我的项目创建了一个新的虚拟环境,然后 pip 在虚拟环境中和正常环境中都可以正常工作。

解决方案 20:

看起来他们已经离开 bitbucket 并且现在在 github 上(https://github.com/pypa/setuptools

运行的命令是:

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

解决方案 21:

如果您在通过conda安装的应用程序中遇到此问题,则解决方案(如本错误报告中所述)是使用以下命令安装 setup-tools:

conda install setuptools

解决方案 22:

显然您缺少 setuptools。某些虚拟环境版本默认使用分发而不是 setuptools。--setuptools在创建虚拟环境时使用该选项或在您的环境中设置VIRTUALENV_SETUPTOOLS=1

解决方案 23:

发布的答案都不适合我,所以我重新安装了 pip 并且它起作用了!

sudo apt-get install python-setuptools python-dev build-essential 

sudo easy_install pip 

pip install --upgrade setuptools

(参考: http: //www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/)

解决方案 24:

在我的例子中,我最初安装了 2 个 Python 版本,后来我删除了旧版本。因此在创建虚拟环境时

virtualenv venv

指的是卸载的python

对我有用的

python3 -m virtualenv venv

当您尝试使用 pip 时,情况也是如此。

解决方案 25:

我以为“/Library/Python/2.7/site-packages/”目录是本地缓存,因此从我的机器上删除了它,从而导致了此错误(或非常类似的错误)。只有 easy_install 停止工作(pip 正常)。

这里列出的所有项目都对我没有帮助,但我能够通过从https://www.python.org/downloads/下载最新版本并安装来恢复。幸运的是,我没有使用最新版本,否则我相信我必须重新安装。

我怀疑(但不是 100% 确定)我还需要打开一个新终端(或终端中的新选项卡)才能使其工作。

解决方案 26:

当我尝试按照OSX 指南操作时,我偶然发现了这个答案。对我有用的是,在运行之后python get-pip,我还必须运行easy_install pip。这解决了根本无法运行 pip 的问题。我确实安装了一些旧的 macport 东西。这可能有冲突。

解决方案 27:

在 Windows 上,我安装了从www.lfd.uci.edu/~gohlke/pythonlibs/下载的 pip ,然后遇到了这个问题。

所以我应该先安装setuptools(easy_install)。

解决方案 28:

只需重新安装setuptools即可:

$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools

那么一切都会好起来的。

解决方案 29:

我使用 CentOS 6.7,我的 python 刚刚从 2.6.6 升级到 2.7.11,在尝试了很多不同的答案之后,最终以下一个完成了工作:

sudo yum install python-devel

希望能够帮助处于同样境况的人。

解决方案 30:

我在更新 Ubuntu 版本后遇到了这个问题。它似乎已经删除了我所有虚拟环境中的设置工具。

为了解决这个问题,我将虚拟环境重新安装到目标目录中。这清除了缺失的安装工具,并使一切再次运行。

例如:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用