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

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

importerror "No Module named Setuptools"

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

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

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


当前回答

编辑:官方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

其他回答

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

python -m ensurepip

我运行sudo python setup.py build_ext -i,它失败了,没有名为setuptools的模块。

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

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

我是在Oracle Linux 6.4上使用Python 2.6的virtualenv中做这件事的,所以基于apt的解决方案对我来说不是一个选择,Python 2.7的想法也不是。我的解决方案是升级我的setuptools版本,它已经被virtualenv安装:

pip install --upgrade setuptools

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

在尝试安装socketIO时,我遇到了同样的问题。在我的系统(Windows 11)中,setupTools出现了两次。在C:\Program Files\Python310\Lib\ site-packages\和c:\ users \user\ appdata \漫游\ python \ python310 \site-packages\ 不得不卸载其中一个。

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

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