首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyInstaller无法正确打包ruamel.yaml

PyInstaller无法正确打包ruamel.yaml
EN

Stack Overflow用户
提问于 2020-11-25 07:55:35
回答 1查看 106关注 0票数 0

我无法使用PyInstaller打包ruamel.yaml。

我使用了以下简单的测试用例:

代码语言:javascript
复制
from ruamel.yaml import YAML
parser = YAML(typ="safe", pure=True)
print(parser.load("17"))

这在正常运行时运行良好,但在与PyInstaller打包后会产生此异常:

代码语言:javascript
复制
ImportError: cannot import name 'YAML' from 'ruamel.yaml' (/tmp/_MEIsScRyt/ruamel/yaml/__init__.pyc)

我可以通过将YAML称为ruamel.yaml.main.YAML来部分解决这个问题,但是在库中通过ruamel.yaml引用各种属性,我不能更改这些属性。

如何确保PyInstaller正确打包整个ruamel.yaml包?

我使用的是通过pip3、4.2.dev0安装的最新PyInstaller版本。

EN

回答 1

Stack Overflow用户

发布于 2020-11-25 14:45:04

如果你可以参考ruamel.yaml.main.YAML,但不能参考ruamel.yaml.YAML,那么看起来pyinstaller并没有正确地安装ruamel.yaml__init__.py

代码语言:javascript
复制
from ruamel.yaml.main import *

您应该检查该文件在子目录ruamel/yaml下是否可用。

通常,您应该将PyInstaller生成/存储的文件层次结构与`ruamel.yaml 应如何安装as specified in the documentation的结果进行比较

代码语言:javascript
复制
pip install ruamel.yaml

所有ruamel.*ruamel.*.*包的setup.py中都有一些更正,可以正确安装这些嵌套的命名空间包。但是,这只针对pip进行了调整和测试。与pip不是100%兼容的安装程序可能会做出无效的假设,从而无法正确安装。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64996585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档