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

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

importerror "No Module named Setuptools"

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

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

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


当前回答

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

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

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

其他回答

分发包提供了与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...
[~]

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

python -m ensurepip

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

在Debian上安装setuptools

sudo apt-get install python3-setuptools

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

sudo apt-get install python-setuptools

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

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

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

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

pip3 install -U pip

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

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

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