【问题标题】:Issue with loading entry point, possibly connected to version including dev tag加载入口点的问题,可能连接到包含 dev 标签的版本
【发布时间】:2020-06-25 15:36:51
【问题描述】:

当我尝试从命令行运行我的工具时出现错误。我创建了一个 setup.py 文件并将入口点放在一起。当我克隆存储库并安装在其他计算机上时,此命令行实用程序起作用。我想知道这个问题是否与 package.json 位置中包含的 dev 标签有关。 ('this_tool==0.1.1.dev11')

通过使用python setup.py --version,它位于 0.1.1.dev16。但我不确定如何解决这个问题,因为重新运行 setup.py install 似乎无法解决问题。

Traceback (most recent call last):
  File "/Users/USERNAME/miniconda2/envs/USERNAME/bin/this_tool", line 30, in <module>
    sys.exit(load_entry_point('this_tool==0.1.1.dev11', 'console_scripts', 'this_tool')())
  File "/Users/USERNAME/miniconda2/envs/USERNAME/bin/this_tool", line 22, in importlib_load_entry_point
    return next(matches).load()
StopIteration

如果需要,我也可以提供我的 setup.py,但由于它似乎可以在其他计算机上运行,​​我认为这不是问题

【问题讨论】:

  • 更新:创建一个全新的 conda 环境消除了这个问题。仍然不确定是什么原因造成的。有什么想法吗?
  • 旧的 setuptools / pip / etc. 版本可能是罪魁祸首

标签: python conda versioning setup.py


【解决方案1】:

我的 NAS 上的 Entware-ng (opkg) 安装 BorgBackup 时遇到了完全相同的问题

$ /opt/bin/borg
Traceback (most recent call last):
  File "/opt/bin/borg", line 33, in <module>
    sys.exit(load_entry_point('borgbackup==1.1.16', 'console_scripts', 'borg')())
  File "/opt/bin/borg", line 25, in importlib_load_entry_point
    return next(matches).load()
StopIteration

正如上面@anup-jonchhe 评论的那样,全新安装确实解决了问题。

但我也可以在不完全重新安装的情况下解决此问题。

在我的设置中,问题发生在工具更新后

opkg update && opkg upgrade python3-borgbackup

问题是升级过程留下了一些冲突的目录导致错误
在目录 /opt/lib/python3.9/site-packages
从 BorgBackup 1.1.15-1 升级到 1.1.16-1 离开了旧目录
borgbackup-1.1.15-py3.9.egg-info/
在新的旁边
borgbackup-1.1.16-py3.9.egg-info/

手动删除旧的(1.1.15)后,borg 将再次运行而没有任何问题

【讨论】:

    【解决方案2】:

    就我而言,这发生在我有同一个包的两个版本时。没有脚本的旧版本和 setup.py 安装的带有 console_script 的新版本。

    https://github.com/pypa/setuptools/issues/2390中的讨论

    为我指明了尝试的方向

    pip uninstall mypackage
    

    我被要求以交互方式删除旧版本的软件包。

    在那之后,StopIteration 问题就消失了。

    【讨论】:

    • 在我的情况下,我还必须手动将其从环境中的 Scripts 文件夹中删除。
    猜你喜欢
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2022-01-06
    • 2019-07-17
    相关资源
    最近更新 更多