我在 Python 3 中安装软件包时遇到了麻烦。
我一直使用 setup.py install
安装软件包。但是现在,当我尝试安装 ansicolors 包时,我得到:
importerror "No Module named Setuptools"
我不知道该怎么做,因为我过去没有安装 setuptools。尽管如此,我还是能够在没有安装工具的情况下使用 setup.py install
安装许多软件包。为什么我现在应该得到 setuptools?
我什至无法安装 setuptools,因为我有 Python 3.3,而 setuptools 不支持 Python 3。
为什么我的安装命令不再起作用?
您的 setup.py
文件需要 setuptools
。一些 Python 包过去使用 distutils
进行分发,但现在大多数使用 setuptools
,这是一个更完整的包。 Here 是关于它们之间差异的问题。
要在 Debian 上安装 setuptools
:
sudo apt-get install python3-setuptools
对于旧版本的 Python (Python 2.x):
sudo apt-get install python-setuptools
编辑:官方setuptools dox page:
如果您从 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 is deprecated and will be removed in Python 3.12 - 使用 setuptools:
不推荐使用整个 distutils 包,将在 Python 3.12 中删除。它用于指定包构建的功能已经完全被第三方包 setuptools 和包装取代......
分发(已弃用)
Distribute - 是“提供 Python 3 支持”的 setuptools 分支。分发(setuptools)+ pip的安装说明:
curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip
类似问题 here。
更新:Distribute 似乎已过时,即合并到 Setuptools:Distribute 是 Setuptools 项目的一个已弃用的分支。自 Setuptools 0.7 版本以来,Setuptools 和 Distribute 已合并,并且不再维护 Distribute。所有正在进行的工作都应参考 Setuptools 项目和 Setuptools 文档。
您可以尝试使用 setuptools pypi 页面上的 instructions(我还没有测试过,抱歉 :( ):
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
easy_install pip
sudo pip install distribute
不起作用。我的问题记录在 stackoverflow.com/questions/16846742/…
确保您正在运行最新版本的 pip
我尝试安装 Ansible,但失败了
ModuleNotFoundError:没有名为“setuptools_rust”的模块
python3-setuptools
已经到位,因此升级 pip
解决了它。
pip3 install -U pip
我在 Oracle Linux 6.4 上的 virtualenv 中使用 Python 2.6 执行此操作,因此基于 apt 的解决方案对我来说不是一个选项,Python 2.7 的想法也不是。我的解决方法是升级由 virtualenv 安装的 setuptools 版本:
pip install --upgrade setuptools
之后,我能够将软件包安装到 virtualenv 中。
对我有用的解决方案是升级我的 setuptools:
python3 -m pip install --upgrade pip setuptools wheel
对于由于不同原因而遇到相同问题的其他人:当 pyproject.toml
与 setup.py
位于同一目录中时,即使 setuptools
可用,也会发生这种情况。
删除 pyproject.toml
为我解决了这个问题。
pip uninstall setuptools
接着:
pip install setuptools
这对我有用并解决了我的问题。
setuptools
。当我尝试 pip uninstall
时发现它
第一步#1
你必须安装setuptools
在 Linux 上: pip install -U pip setuptools
在 Mac OS 上: pip install -U pip setuptools
在 Windows 上:python -m pip install -U pip setuptools
第二步#2
确保您已使其可访问(使其在环境变量中可用)
在 Linux 上导出 PATH="INSTALLATIONDIRECTORY:$PATH"
在 Mac OS 上 抱歉,我不知道。
在 Windows 上打开开始搜索,输入“env”,然后选择“编辑系统环境变量”单击“环境变量”按钮。根据需要设置环境变量。新建按钮添加了一个附加变量。选择“确定”关闭所有对话框。您的更改已保存!
如果 pyproject.toml
与 setup.py
位于同一目录中,则可能是问题的原因。我重命名了那个文件,但它并没有解决问题,所以我重新建立了原始文件名,并进行了以下更改。
在 [build-system] 部分下,我将“setuptools”添加到了 requires= 列表中,并且它起作用了。
distribute
包提供了与 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...
[~]
Windows 7的:
我已经为 Python Selenium WebDriver 提供了完整的解决方案 here:
设置简单安装(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 install
我运行了 sudo python setup.py build_ext -i
,但它以 No module named 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"
用于安装和管理 Python 包的 PyPA recommended 工具是 pip
。 pip
包含在 Python 3.4 (PEP 453) 中,但对于旧版本,这里是 how to install(在 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...
几年前,我继承了一个在 Django-1.2.3 下运行的 Python (2.7.1) 项目,现在被要求通过 QR 可能性来增强它。我遇到了同样的问题,也没有找到 pip 或 apt-get 。所以我以一种完全不同但简单的方式解决了它。
我 /bin/vi-ed setup.py 并将“from setuptools import setup”行更改为:“from distutils.core import setup”
如果您仍然发现此问题,请尝试以下操作:
python3 -m pip install scrapy --upgrade --force --user
在尝试安装 socketIO 时,我遇到了同样的问题。在我的系统(Windows 11)中,setupTools 出现了两次。在 C:\Program Files\Python310\Lib\site-packages\
和 C:\Users\user\AppData\Roaming\Python\Python310\site-packages\
必须卸载其中一个。
我的问题就是这样解决的=> pip3 install setuptools-rust
如果你想检查你的清单 => pip3 list
我在尝试安装 elastalert2 时遇到了这个问题
系统信息
CentOS Linux 版本 7.9.2009(核心)
Python 3.6.8
来自 /usr/local/lib/python3.6/site-packages/pip 的 pip 21.3.1(python 3.6)
sudo apt-get install python3-setuptools
python3 python3-pip python3-setuptools
,它工作正常。谢谢。apt-get install python3-setuptools
。pip3 install setuptools
。