【问题标题】:Python 3: ImportError "No Module named Setuptools"Python 3:ImportError“没有名为 Setuptools 的模块”
【发布时间】:2013-01-03 18:58:32
【问题描述】:

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

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

importerror "No Module named Setuptools"

我不知道该怎么做,因为我过去没有安装 setuptools。尽管如此,我仍然能够在没有 setuptools 的情况下使用 setup.py install 安装许多软件包。为什么我现在应该获取 setuptools?

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

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

【问题讨论】:

    标签: python module package setup.py python-3.3


    【解决方案1】:

    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...
    [~]
    

    【讨论】:

      【解决方案2】:

      您的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 但它无法安装在 py3.3 中.. 分发就像一个魅力
      • 我必须用“python3”安装它才能让它工作:sudo apt-get install python3-setuptools
      • 我安装了python3 python3-pip python3-setuptools,它成功了。谢谢。
      • 由于某些原因在 Ubuntu 18.04 中它不适用于 apt-get install python3-setuptools
      • @loretoparisi 我也遇到了同样的问题,你找到 ubuntu 18.04 的解决方案了吗?
      【解决方案3】:

      编辑:官方setuptools dox page

      如果您从以下位置安装了 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
      

      因此这篇文章的其余部分可能已经过时(例如,某些链接不起作用)。

      Distribute - 是一个“提供 Python 3 支持”的 setuptools 分支。 Distribute(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/…
      • 这适用于跨平台(Win),而接受的答案不适用。谢谢!
      • 说真的,这家伙需要的功劳比他给的多。他刚刚拯救了我的一天
      • URLS 不再有效.. 你能检查一下吗?
      • 这对我有用,而在安装某些软件包之后,接受的答案最终以损坏的 python 发行版结束。
      【解决方案4】:

      我在 Oracle Linux 6.4 上的 virtualenv 中使用 Python 2.6 执行此操作,因此基于 apt 的解决方案不适合我,Python 2.7 的想法也不是。我的解决方法是升级由 virtualenv 安装的 setuptools 版本:

      pip install --upgrade setuptools
      

      之后,我可以将软件包安装到 virtualenv 中。

      【讨论】:

      • 请注意,“无法从不存在的文件中删除条目...”将 --ignore-installed 添加到上述命令修复了该问题。
      【解决方案5】:

      用于安装和管理 Python 包的PyPA recommended 工具是pippip 包含在 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...
      

      【讨论】:

        【解决方案6】:

        Windows 7:

        我已经给出了完整的解决方案here for Python Selenium WebDriver

        1. 设置轻松安装(Windows - 简化)
          1. 从“https://pypi.python.org/pypi/setuptools”下载 ez.setup.py (https://bootstrap.pypa.io/ez_setup.py)
          2. 将 ez.setup.py 移至 C:\Python27\
          3. 打开 cmd 提示符
          4. cd C:\Python27\
          5. C:\Python27\python.exe ez.setup.py install

        【讨论】:

          【解决方案7】:

          pip uninstall setuptools

          然后:

          pip install setuptools

          这对我有用并解决了我的问题。

          【讨论】:

          • 这对我有用!不知何故,我的 setuptools 是旧版本 28.8。这次卸载并重新安装迫使它更新到版本 48。然后一切正常。
          • 就我而言,出于某种原因安装了两个不同版本的setuptools。当我尝试pip uninstall时发现它@
          • pip install --upgrade setuptools 也可以解决问题
          【解决方案8】:

          几年前,我继承了一个在 Django-1.2.3 下运行的 Python (2.7.1) 项目,现在被要求通过 QR 可能性来增强它。我遇到了同样的问题,也没有找到 pipapt-get。所以我用一种完全不同但简单的方法解决了它。

          我 /bin/vi-ed setup.py 并更改了行 “从 setuptools 导入设置” 进入: “从 distutils.core 导入设置”

          【讨论】:

            【解决方案9】:

            对我有用的解决方案是升级我的 setuptools:

            python3 -m pip install --upgrade pip setuptools wheel
            

            【讨论】:

              【解决方案10】:

              对于由于不同原因而遇到相同问题的其他人:当pyproject.tomlsetup.py 位于同一目录中时,即使setuptools 可用,也会发生这种情况。

              删除 pyproject.toml 为我解决了这个问题。

              【讨论】:

              • 这只是解决了我所有的生活问题。可以确认这行得通。比一月!
              • 因为 pip 将 pyproject.toml(如 setup.py 和其他文件)作为项目配置的地方。
              【解决方案11】:

              确保您运行的是最新版本的 pip

              我尝试安装Ansible,但失败了

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

              python3-setuptools 已经就位,所以升级pip 解决了它。

              pip3 install -U pip
              

              【讨论】:

              • 通过使用“pip3 install -U pip”升级 pip 解决了这个问题。谢谢老哥!
              • 在所有解决方案中,这是一个有效的解决方案。
              【解决方案12】:

              如果pip 未安装,例如来自Deadsnakes PPA 或Docker 环境,修复此错误的最佳方法是运行bootstrapping

              python -m ensurepip
              

              【讨论】:

                【解决方案13】:

                第一步#1
                你必须安装setuptools

                在 Linux 上:

                pip install -U pip setuptools

                在 Mac 操作系统上:

                pip install -U pip setuptools

                在 Windows 上:

                python -m pip install -U pip setuptools

                第二步#2

                确保您已使其可访问(使其在环境变量中可用)

                在 Linux 上

                export PATH="INSTALLATIONDIRECTORY:$PATH"

                在 Mac 操作系统上

                对不起,我不知道。

                在 Windows 上

                1. 打开开始搜索,输入“env”,然后选择“编辑系统环境变量”
                2. 点击“环境变量”按钮。
                3. 根据需要设置环境变量。 “新建”按钮添加了一个额外的变量。
                4. 选择“确定”关闭所有对话框。您的更改已保存!

                【讨论】:

                  【解决方案14】:

                  pyproject.tomlsetup.py 位于同一目录中时,这可能是问题的原因。我重命名了那个文件,但并没有解决问题,所以我重新建立了原始文件名,并做了以下更改。

                  在 [build-system] 部分下,我将“setuptools”添加到了 requires= 列表中,它起作用了。

                  【讨论】:

                  • 这对我有用——我把头发扯掉了。谢谢。
                  【解决方案15】:

                  我运行了sudo python setup.py build_ext -i,但以No module named setuptools 失败。

                  我用这个命令解决了:

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

                  【讨论】:

                    【解决方案16】:

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

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

                    【讨论】:

                      【解决方案17】:

                      如果您仍然发现此问题,请尝试以下操作:

                      python3 -m pip install scrapy --upgrade --force --user
                      

                      【讨论】:

                        猜你喜欢
                        • 2017-11-12
                        • 2013-01-06
                        • 2013-05-26
                        • 2012-12-14
                        • 2015-03-27
                        • 2016-04-16
                        • 1970-01-01
                        相关资源
                        最近更新 更多