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

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

importerror "No Module named Setuptools"

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

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

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


分发包提供了与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

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

编辑2022-02-04

从Python 3.10开始,Distutils已弃用,并将在Python 3.12中删除-使用setuptools:

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

分发(弃用)

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

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

这里也有类似的问题。

更新:分布式似乎已经过时了,即合并到Setuptools:分布式是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中做这件事的,所以基于apt的解决方案对我来说不是一个选择,Python 2.7的想法也不是。我的解决方案是升级我的setuptools版本,它已经被virtualenv安装:

pip install --upgrade setuptools

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


PyPA推荐的用于安装和管理Python包的工具是pip。pip包含在Python 3.4 (PEP 453)中,但对于旧版本,这里是如何安装它(在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 Selenium WebDriver的完整解决方案:

安装简单(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安装


PIP卸载setuptools

然后:

PIP安装setuptools

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


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

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


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

python3 -m pip install --upgrade pip setuptools wheel

对于其他由于不同原因而有相同问题的人:当有pyproject时也会发生这种情况。Toml和setup.py放在同一个目录下,即使setuptools可用。

删除pyproject。汤姆帮我解决了这个问题。


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

我试着安装Ansible,但是失败了

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

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

pip3 install -U pip

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

python -m ensurepip

第一步#1 你必须安装setuptools

在Linux上: pip install -U pip setuptools

在Mac OS上: pip install -U pip setuptools

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

第二步:

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

在Linux上 导出路径= " INSTALLATIONDIRECTORY: $路径”

在Mac OS上 对不起,我不知道。

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


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

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


我运行sudo python setup.py build_ext -i,它失败了,没有名为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 \漫游\ python \ python310 \site-packages\ 不得不卸载其中一个。


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

如果你想检查你的list => 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

在Debian上工作,有时可能是因为旧的pip版本。因此,更新pip>

python -m pip install -U pip