ChatGPT解决这个技术问题 Extra ChatGPT

Python 3:ImportError“没有名为 Setuptools 的模块”

我在 Python 3 中安装软件包时遇到了麻烦。

我一直使用 setup.py install 安装软件包。但是现在,当我尝试安装 ansicolors 包时,我得到:

importerror "No Module named Setuptools"

我不知道该怎么做,因为我过去没有安装 setuptools。尽管如此,我还是能够在没有安装工具的情况下使用 setup.py install 安装许多软件包。为什么我现在应该得到 setuptools?

我什至无法安装 setuptools,因为我有 Python 3.3,而 setuptools 不支持 Python 3。

为什么我的安装命令不再起作用?


a
a3y3

您的 setup.py 文件需要 setuptools。一些 Python 包过去使用 distutils 进行分发,但现在大多数使用 setuptools,这是一个更完整的包。 Here 是关于它们之间差异的问题。

要在 Debian 上安装 setuptools

sudo apt-get install python3-setuptools

对于旧版本的 Python (Python 2.x):

sudo apt-get install python-setuptools

感谢这篇文章.. 帮了我很多.. 很多人都在建议 setuptools 但它无法安装在 py3.3 中.. 分发就像一个魅力
我必须用“python3”安装它才能让它工作:sudo apt-get install python3-setuptools
我安装了 python3 python3-pip python3-setuptools,它工作正常。谢谢。
出于某种原因,在 Ubuntu 18.04 中它不适用于 apt-get install python3-setuptools
我使用了 pip3 install setuptools
R
Robert Lujo

编辑:官方setuptools dox page

如果您从 python.org 安装了 Python 2 >=2.7.9 或 Python 3 >=3.4,则您已经拥有 pip 和 setuptools,但需要升级到最新版本:在 Linux 或 OS X 上:pip install -U pip setuptools 在 Windows 上: python -m pip install -U pip setuptools

因此,这篇文章与 Distribute 相关的其余部分已过时(例如,某些链接不起作用)。

编辑 2022-02-04

从 Python 3.10 Distutils is deprecated and will be removed in Python 3.12 - 使用 setuptools

不推荐使用整个 distutils 包,将在 Python 3.12 中删除。它用于指定包构建的功能已经完全被第三方包 setuptools 和包装取代......

分发(已弃用)

Distribute - 是“提供 Python 3 支持”的 setuptools 分支。分发(setuptools)+ pip的安装说明:

curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

类似问题 here

更新:Distribute 似乎已过时,即合并到 Setuptools:Distribute 是 Setuptools 项目的一个已弃用的分支。自 Setuptools 0.7 版本以来,Setuptools 和 Distribute 已合并,并且不再维护 Distribute。所有正在进行的工作都应参考 Setuptools 项目和 Setuptools 文档。

您可以尝试使用 setuptools pypi 页面上的 instructions(我还没有测试过,抱歉 :( ):

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
easy_install pip

非常感谢,我不确定这如何解决我的问题,但确实如此。即刻!我在尝试安装分发时遇到严重问题。这必须以某种方式强制安装,因为 sudo pip install distribute 不起作用。我的问题记录在 stackoverflow.com/questions/16846742/…
这适用于跨平台(Win),而接受的答案不适用。谢谢!
说真的,这家伙需要的功劳多于他给予的功劳。他刚刚拯救了我的一天
URLS 不再有效.. 你能检查一下吗?
这对我有用,而在安装某些软件包之后,接受的答案最终以损坏的 python 发行版告终。
P
Peter Mortensen

确保您正在运行最新版本的 pip

我尝试安装 Ansible,但失败了

ModuleNotFoundError:没有名为“setuptools_rust”的模块

python3-setuptools 已经到位,因此升级 pip 解决了它。

pip3 install -U pip

只需使用“pip3 install -U pip”升级 pip 即可解决该问题。谢了哥们!
在所有解决方案中,这是一个有效的解决方案。
P
Peter Mortensen

我在 Oracle Linux 6.4 上的 virtualenv 中使用 Python 2.6 执行此操作,因此基于 apt 的解决方案对我来说不是一个选项,Python 2.7 的想法也不是。我的解决方法是升级由 virtualenv 安装的 setuptools 版本:

pip install --upgrade setuptools

之后,我能够将软件包安装到 virtualenv 中。


请注意,它有问题“无法从不存在的文件中删除条目......”将 --ignore-installed 添加到上述命令修复了该问题。
Y
Yaakov Bressler

对我有用的解决方案是升级我的 setuptools:

python3 -m pip install --upgrade pip setuptools wheel

J
Jan Rüegg

对于由于不同原因而遇到相同问题的其他人:当 pyproject.tomlsetup.py 位于同一目录中时,即使 setuptools 可用,也会发生这种情况。

删除 pyproject.toml 为我解决了这个问题。


这只是解决了我所有的生活问题。可以确认这行得通。谢谢简!
因为 pip 将 pyproject.toml (作为 setup.py 和其他文件)作为项目配置位置。
我在使用的项目中同时拥有两个配置文件没有任何问题,升级 pip 和安装 setuptools 就足够了。
P
Peter Mortensen

pip uninstall setuptools

接着:

pip install setuptools

这对我有用并解决了我的问题。


这对我有用!不知何故,我的 setuptools 是旧版本 28.8。此卸载和重新安装迫使它更新到版本 48。然后一切正常。
就我而言,出于某种原因安装了两个不同版本的 setuptools。当我尝试 pip uninstall 时发现它
pip install --upgrade setuptools 也可以解决问题
这是有效的,因为它安装了更高版本的 setuptools
R
Rohit Nishad

第一步#1
你必须安装setuptools

在 Linux 上: pip install -U pip setuptools

在 Mac OS 上: pip install -U pip setuptools

在 Windows 上:python -m pip install -U pip setuptools

第二步#2

确保您已使其可访问(使其在环境变量中可用)

在 Linux 上导出 PATH="INSTALLATIONDIRECTORY:$PATH"

在 Mac OS 上 抱歉,我不知道。

在 Windows 上打开开始搜索,输入“env”,然后选择“编辑系统环境变量”单击“环境变量”按钮。根据需要设置环境变量。新建按钮添加了一个附加变量。选择“确定”关闭所有对话框。您的更改已保存!


L
Lucioric2000

如果 pyproject.tomlsetup.py 位于同一目录中,则可能是问题的原因。我重命名了那个文件,但它并没有解决问题,所以我重新建立了原始文件名,并进行了以下更改。

在 [build-system] 部分下,我将“setuptools”添加到了 requires= 列表中,并且它起作用了。


这对我有用——我把头发扯掉了。谢谢你。
B
Blender

distribute 包提供了与 Python 3 兼容的 setuptools 版本:http://pypi.python.org/pypi/distribute

此外,使用 pip 安装模块。它会自动查找依赖项并为您安装它们。

你的包裹对我来说很好用:

[~] pip --version                                                              
pip 1.2.1 from /usr/lib/python3.3/site-packages (python 3.3)
[~] sudo pip install ansicolors                                                
Downloading/unpacking ansicolors
  Downloading ansicolors-1.0.2.tar.gz
  Running setup.py egg_info for package ansicolors

Installing collected packages: ansicolors
  Running setup.py install for ansicolors

Successfully installed ansicolors
Cleaning up...
[~]

C
CharlesB

如果未安装 pip,例如它来自 Deadsnakes PPA 或 Docker 环境,则修复此错误的最佳方法是通过运行 bootstrapping

python -m ensurepip

P
Peter Mortensen

Windows 7的:

我已经为 Python Selenium WebDriver 提供了完整的解决方案 here

设置简单安装(Windows - 简化)从“https://pypi.python.org/pypi/setuptools”下载 ez.setup.py (https://bootstrap.pypa.io/ez_setup.py) 移动 ez.setup。 py 到 C:\Python27\ 打开 cmd 提示符 cd C:\Python27\ C:\Python27\python.exe ez.setup.py install


o
ouflak

我运行了 sudo python setup.py build_ext -i,但它以 No module named setuptools 失败。

我用这个命令解决了它:

<i>sudo apt-get install python-setuptools</i>

m
marcusaurelius

当我的 pip requirements.txt 文件包含一个使用诗歌构建的可编辑库并包含一个 pyproject.toml 文件时,我遇到了这个问题。按照 setuptools 的文档,我的解决方案是将 setuptools 添加到 pyproject.toml 文件中的构建系统要求中,如下所示:

[build-system]
requires = ["poetry-core>=1.0.0", "setuptools"]
build-backend = "poetry.core.masonry.api"

C
Cees Timmerman

用于安装和管理 Python 包的 PyPA recommended 工具是 pippip 包含在 Python 3.4 (PEP 453) 中,但对于旧版本,这里是 how to install(在 Windows 上):

下载https://bootstrap.pypa.io/get-pip.py

>c:\Python33\python.exe get-pip.py
Downloading/unpacking pip
Downloading/unpacking setuptools
Installing collected packages: pip, setuptools
Successfully installed pip setuptools
Cleaning up...

>c:\Python33\Scripts\pip.exe install pymysql
Downloading/unpacking pymysql
Installing collected packages: pymysql
Successfully installed pymysql
Cleaning up...

P
Peter Mortensen

几年前,我继承了一个在 Django-1.2.3 下运行的 Python (2.7.1) 项目,现在被要求通过 QR 可能性来增强它。我遇到了同样的问题,也没有找到 pip 或 apt-get 。所以我以一种完全不同但简单的方式解决了它。

我 /bin/vi-ed setup.py 并将“from setuptools import setup”行更改为:“from distutils.core import setup”


J
Janib Soomro

如果您仍然发现此问题,请尝试以下操作:

python3 -m pip install scrapy --upgrade --force --user

N
Niels Siebert

在尝试安装 socketIO 时,我遇到了同样的问题。在我的系统(Windows 11)中,setupTools 出现了两次。在 C:\Program Files\Python310\Lib\site-packages\C:\Users\user\AppData\Roaming\Python\Python310\site-packages\ 必须卸载其中一个。


M
Musab Dogan

我的问题就是这样解决的=> pip3 install setuptools-rust

如果你想检查你的清单 => pip3 list

我在尝试安装 elastalert2 时遇到了这个问题

系统信息

CentOS Linux 版本 7.9.2009(核心)

Python 3.6.8

来自 /usr/local/lib/python3.6/site-packages/pip 的 pip 21.3.1(python 3.6)