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:无法导入名称“AFAVSignature”
ImportError:无法导入名称“评估”(来自意外导入评估)
Django 'ImportError: 无法导入名称 url'