Python 3:导入错误“没有名为 Setuptools 的模块”

新手上路,请多包涵

我在 Python 3 中安装包时遇到问题。

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

 importerror "No Module named Setuptools"

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

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

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

原文由 user1994934 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 977
2 个回答

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

在 Debian 上安装 setuptools

 sudo apt-get install python3-setuptools

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

 sudo apt-get install python-setuptools

原文由 tiago 发布,翻译遵循 CC BY-SA 4.0 许可协议

编辑: 官方 setuptools dox 页面

如果您从 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 已弃用,并将在 Python 3.12 中删除](https://docs.python.org/3/whatsnew/3.10.html#distutils)\- 使用 [setuptools](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/) :

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

## 分发(已弃用)

[Distribute](http://pythonhosted.org/distribute/) \- 是一个 setuptools 分支,它“提供 Python 3 支持”。 distribute(setuptools) + pip 安装说明:

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


类似的问题 [在这里](https://stackoverflow.com/a/16511005/565525)。

更新: [Distribute](http://pythonhosted.org/distribute/) 似乎已过时,即合并到 Setuptools 中: _Distribute 是 Setuptools 项目的一个已弃用的分支。自 Setuptools 0.7 版本以来,Setuptools 和 Distribute 已经合并,并且不再维护 Distribute。所有正在进行的工作都应参考 Setuptools 项目和 Setuptools 文档。_

您可以尝试在 setuptools pypi 页面上找到的 [说明](https://pypi.python.org/pypi/setuptools#unix-wget)(我还没有测试过,抱歉 :( ):

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

”`

原文由 Robert Lujo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题