gpt4 book ai didi

python - pandas 导入时,openpyxl 模块没有属性 '__version__'

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:06 25 4
gpt4 key购买 nike

我对运行 pandas 的追溯将我带到:
site-packages\pandas\io\excel.py 第 58 行,在 get_writer 中
AttributeError: 'module' 对象没有属性 '__version__'

我在 PyInstaller 仓库中找到了一个 git issue 的链接 https://github.com/pyinstaller/pyinstaller/issues/1890找到我的 openpyxl 版本,像这样手动将它添加到 get_writer 方法中:

def get_writer(engine_name):
if engine_name == 'openpyxl':
try:
import openpyxl
#remove when conda update available
openpyxl.__version__ = '2.3.2'
# with version-less openpyxl engine
# make sure we make the intelligent choice for the user
if LooseVersion(openpyxl.__version__) < '2.0.0':
return _writers['openpyxl1']
elif LooseVersion(openpyxl.__version__) < '2.2.0':
return _writers['openpyxl20']
else:
return _writers['openpyxl22']
except ImportError:
# fall through to normal exception handling below
pass

try:
return _writers[engine_name]
except KeyError:
raise ValueError("No Excel writer '%s'" % engine_name)

仍然没有骰子。错误回溯中给出的行号甚至没有改变。然后我将 openpyxl 版本更新为 2.3.5,仍然收到错误。 openpyxl init 文件中有一个 version 变量:

try:
here = os.path.abspath(os.path.dirname(__file__))
src_file = os.path.join(here, ".constants.json")
with open(src_file) as src:
constants = json.load(src)
__author__ = constants['__author__']
__author_email__ = constants["__author_email__"]
__license__ = constants["__license__"]
__maintainer_email__ = constants["__maintainer_email__"]
__url__ = constants["__url__"]
__version__ = constants["__version__"]
except IOError:
# packaged
pass

任何已知或潜在的修复或解决方法?

最佳答案

编辑没有产生影响,因为该过程被编译成这些模块正在运行的 exe。将我需要的部分导出到我的 anaconda 环境之外,现在该过程可以顺利进行。

关于python - pandas 导入时,openpyxl 模块没有属性 '__version__',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39230220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com