无法执行“pip install version”,出现 Python 导入错误 - ImportError: 无法导入名称“izip_longest”

无法执行“pip install version”,出现 Python 导入错误 - ImportError: 无法导入名称“izip_longest”

我正在尝试修复一个错误:

import version
ModuleNotFoundError: No module named 'version'

因此我尝试了一下pip install version,但出现了以下错误:

from itertools import izip_longest
ImportError: cannot import name 'izip_longest'

因此,通过不同的论坛,我意识到我需要使用这个导入参数来更新文件import izip_longest并将其更新为import zip_longest

但该文件version.py似乎是一个临时文件,我无法在 Windows 10 中访问它。

C:\TruCalvin\testsfolder>pip install version

Collecting version
Using cached https://files.pythonhosted.org/packages/fd/b6/fa3b2c859d4d8817a106e4272029d78a2afbca0a27139997a4e5515bbf60/version-0.1.1.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\Tru~1\AppData\Local\Temp\pip-install-d5jk1cru\version\setup.py", line 4, in <module>
    from version import __version__
  File "C:\Users\Tru~1\AppData\Local\Temp\pip-install-d5jk1cru\version\version.py", line 2, in <module>
    from itertools import izip_longest
ImportError: cannot import name 'izip_longest'

Command "python setup.py egg_info" failed with error code 1 in C:\Users\Tru~1\AppData\Local\Temp\pip-install-d5jk1cru\version\

我该如何缓解这个问题并编辑文件以便能够pip install version成功运行?

提前致谢。

答案1

概述

通常,pip吡啶甲酸。您尝试安装的项目列在此处为版本。因此pip,您可以简单地使用下载文件使用tar.gz下载文件链接。就您而言,此档案包含version.py

安装

version.py要在 Python 3.x 中修改并安装:

  • 完全提取version-0.1.1.tar.gz(您可以使用7-zip在 Windows 上,您需要解压该档案两次(一次针对原始version-0.1.1.tar.gz文件,然后一次针对剩余的version-0.1.1.tar文件)。

  • 查找version.py。按照原始问题中的说明,将其替换import izip_longestimport zip_longest,然后保存version.py

  • version.py在与(相同的文件夹中打开命令窗口前任。 Shift+右键点击在此处打开命令窗口在 Windows 10 中启用此功能的说明)。

  • 运行例如python setup.py install来安装您改变的副本version.py

注意事项

import izip_longest您可能已经意识到了这一点,但您在使用verus时遇到问题的原因 import zip_longest是该模块适用于 Python 2.x,而不是 Python 3.x。PyPi 上的模块页面还指出,该模块本身处于(曾经处于)“Alpha”开发阶段。考虑到这一点,虽然不能保证,但您在实际使用该模块时仍可能会遇到问题。

答案2

现在有点晚了,但是version包裹里可能还有一些值得的东西。

但是,在追踪这个“无法导入名称‘izip_longest’”错误时,我意识到我真正需要的(并且以前使用过的)PyPi 包实际上是包装, 不是版本.packaging有一个模块version和一个类包装.版本.版本

相关内容