Python 3: ImportError "没有名为Setuptools&quot的模块;

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

我总是用setup.py install安装包。但是现在,当我尝试安装anicolors包时,我得到:

importerror "No Module named Setuptools"

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

我甚至不能安装setuptools,因为我有Python 3.3和setuptools不支持Python 3。

为什么我的安装命令不再工作了?

853414 次浏览

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...
[~]

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

在Debian上安装setuptools:

sudo apt-get install python3-setuptools

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

sudo apt-get install python-setuptools

编辑:官方Setuptools还原页面:

如果你已经安装了Python 2 >=2.7.9或Python 3 >=3.4 Python.org,你已经有了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已弃用,将在Python 3.12中移除 -使用setuptools:

整个distutils包已弃用,将在Python 3.12中删除。它的功能 用于指定包构建的方法已经完全被 第三方包setuptools和package

分发(弃用)

分发 -是一个setuptools分支,“提供Python 3支持”。distribute(setuptools) + pip安装说明:

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

类似的问题在这里

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

你可以尝试在setuptools pypi页面上找到指令(我还没有测试这个,抱歉:():

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

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

pip install --upgrade setuptools

在那之后,我能够将包安装到virtualenv中。

用于安装和管理Python包的PyPA推荐工具是pippip包含在Python 3.4 (PEP 453)中,但对于较旧的版本,这里是如何安装 it(在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...

Windows 7:

我已经给出了Python 硒WebDriver的完整解决方案在这里:

  1. Setup easy install (Windows - simplified)
    1. 从“https://pypi.python.org/pypi/setuptools”下载ez.setup.py (https://bootstrap.pypa.io/ez_setup.py)
    2. 将ez.setup.py移动到C:\Python27\
    3. 打开CMD提示符
    4. cd C:\Python27\
    5. C:\Python27\python.exe ez.setup.py install

pip uninstall setuptools

然后:

pip install setuptools

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

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

我/bin/vi了setup.py并更改了行 from setuptools import setuptools; 成: “从distutils。核心导入设置quot;

我的解决方案是升级我的setuptools:

python3 -m pip install --upgrade pip setuptools wheel

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

删除pyproject.toml修复了我的问题。

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

我试图安装Ansible,它失败了

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

python3-setuptools已经到位,所以升级pip解决了这个问题。

pip3 install -U pip

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

python -m ensurepip
< p > 第一步#1
你必须安装setuptools

在Linux上:

pip install -U pip setuptools

在Mac OS上:

pip install -U pip setuptools

在Windows上:

python -m pip install -U pip setuptools

第二步:

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

在Linux上

export PATH="INSTALLATIONDIRECTORY:$PATH"

在Mac OS上

对不起,我不知道。

在Windows上

  1. 打开开始搜索,输入“env”,然后选择“编辑系统环境变量”
  2. 点击“环境变量”按钮。
  3. 根据需要设置环境变量。New按钮添加了一个额外的变量。
  4. 选择“OK”,关闭所有对话框。您的更改被保存!

pyproject.tomlsetup.py在同一个目录下时,它可能是问题的原因。我重命名了该文件,但它没有解决问题,所以我重新建立了原来的文件名,并进行了以下更改。

在[build-system]部分下,我添加了"setuptools"到requirements =列表,它起作用了。

我运行sudo python setup.py build_ext -i,它失败的No module named setuptools

我用这个命令解决了这个问题:

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

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

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

如果你仍然发现这个问题,试试这个:

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

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

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

如果你想检查你的列表=>pip3 list

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

系统信息

CentOS Linux发行版7.9.2009(核心版)

Python 3.6.8

PIP 21.3.1 from /usr/local/lib/python3.6/site-packages/ PIP

在macOS上,如果你安装了家酿,只需运行:

brew install rust

我在安装pyunicorn时遇到了这样的问题。我想在谷歌Colab上安装它。我试着直接从Github安装pyunicorn,它为我工作。例如,在我的种姓是这样的:

pip install git+https://github.com/pik-copan/pyunicorn.git#egg=pyunicorn