ImportError:无法导入名称“IntEnum”

Posted

技术标签:

【中文标题】ImportError:无法导入名称“IntEnum”【英文标题】:ImportError: cannot import name 'IntEnum' 【发布时间】:2017-11-23 18:28:21 【问题描述】:

我正在尝试安装upstox,这是一个用于连接市场数据的 Python API。我无法在 Python3.5 上安装它。

我的配置是 Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 15:51:26) [MSC v.1900 32 bit (Intel)] on win32。我不断收到的错误是:

Collecting upstox
  Using cached upstox-0.7-py2.py3-none-any.whl
Collecting future (from upstox)
  Using cached future-0.16.0.tar.gz
Collecting websocket-client (from upstox)
  Using cached websocket_client-0.42.1-py2.py3-none-any.whl
Collecting pycurl (from upstox)
  Using cached pycurl-7.43.0-cp35-none-win32.whl
Collecting enum (from upstox)
  Using cached enum-0.4.6.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\UserPad\AppData\Local\Programs\Python\Python35-32\lib\site-packages\setuptools\__init__.py", line 10, in <module>
        from setuptools.extern.six.moves import filter, filterfalse, map
      File "C:\Users\UserPad\AppData\Local\Programs\Python\Python35-32\lib\site-packages\setuptools\extern\__init__.py", line 1, in <module>
        from pkg_resources.extern import VendorImporter
      File "C:\Users\UserPad\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pkg_resources\__init__.py", line 33, in <module>
        import platform
      File "C:\Users\UserPad\AppData\Local\Programs\Python\Python35-32\lib\platform.py", line 117, in <module>
        import sys, os, re, subprocess
      File "C:\Users\UserPad\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 50, in <module>
        import signal
      File "C:\Users\UserPad\AppData\Local\Programs\Python\Python35-32\lib\signal.py", line 4, in <module>
        from enum import IntEnum as _IntEnum
    ImportError: cannot import name 'IntEnum'

    ----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in C:\Users\UserPad\AppData\Local\Temp\pycharm-packaging\enum\

【问题讨论】:

这目前是一个开放的错误github.com/upstox/upstox-python/issues/2 【参考方案1】:

在安装所需的软件包之前,您是否安装了enum?看起来它希望你先安装它。

在 CMD 中运行这个命令来安装enum,然后尝试安装你想要的包:

pip install enum

【讨论】:

我认为 .whl 会处理所需的一切。无论如何:我尝试安装枚举,我得到了 收集枚举使用缓存的枚举-0.4.6.tar.gz ImportError: cannot import name 'IntEnum' --------------------- ------------------- 命令“python setup.py egg_info”在 C:\Users\UserPad\AppData\Local\Temp\pycharm-packaging\ 中失败,错误代码为 1枚举\ enum 是标准库的一部分,不需要安装。如果您在控制台会话中手动执行该导入会发生什么? 然后看起来好像有东西安装了另一个名为 enum 的模块,它掩盖了标准库模块。猜测是 Pypi 模块enum 0.4.6。它在 3.4 之前的 Python 版本中提供了对枚举的支持。看看能不能找到并卸载它。【参考方案2】:
pip install enum34 

解决问题

【讨论】:

Python 版本 >= 3.4 不需要安装 enum34。【参考方案3】:

对于python2

sudo pip2 install -U enum

对于python3

sudo pip3 install -U enum34

【讨论】:

【参考方案4】:

我将文件命名为 enum.py 并接收该结果 重命名和所有

【讨论】:

以上是关于ImportError:无法导入名称“IntEnum”的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:无法导入名称“WebClient”

ImportError:无法导入名称“AFAVSignature”

ImportError:无法导入名称“评估”(来自意外导入评估)

Django 'ImportError: 无法导入名称 url'

ImportError:导入 PCA 时无法导入名称“LatentDirichletAllocation”[关闭]

如何修复“ImportError:无法导入名称'StringIO'”