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

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

importerror "No Module named Setuptools"

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

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

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


当前回答

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

在Debian上安装setuptools

sudo apt-get install python3-setuptools

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

sudo apt-get install python-setuptools

其他回答

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...

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

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

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

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

pip3 install -U pip

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

python -m pip install -U pip

我运行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中。