程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python 子包 - 绝对导入失败大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Python 子包 - 绝对导入失败?

开发过程中遇到Python 子包 - 绝对导入失败的问题如何解决?下面主要结合日常开发的经验,给出你关于Python 子包 - 绝对导入失败的解决方法建议,希望对你解决Python 子包 - 绝对导入失败有所启发或帮助;

这个问题已经在不同的上下文中提出过,但我仍然无法获得成功的绝对导入。

我有这个目录结构

21:48:07$ tree
start_dir
└── top_package
    ├── README.md
    ├── __init__.py
    ├── __pycache__
    │   ├── __init__.cpython-37.pyc
    │   └── secrets.cpython-37.pyc
    ├── subpackage1
    │   ├── __init__.py
    │   └── test.py
    ├── requirements.txt
    ├── secrets.py
    └── subpackage2
        └── __init__.py
  

我想要做的就是从 test.py 能够从秘密导入。下面是 test.py 的内容:

# import top_package # importError: No module named top_package
# from top_package import secrets # importError: No module named top_package

import top_package.secrets # importError: No module named top_package

这些都没有奏效。我已经阅读了多页关于在顶级包中有多个子包但仍然没有骰子的内容。

这仅仅是因为我试图通过运行 python test.py 而不是从 start_dir 调用它来直接执行文件吗?如果是这样,开发和解决此问题的最佳方法是什么?

目标:我希望能够从 import secrets 绝对 test.py。如果可能,我不想对站点包或 setup.py 做任何事情。我希望能够运行 python test.py 并拥有以下行:import top_package not give a importError no module found。请建议最好的行动方案。

解决方法

因此,您创建了 top_package 并希望将其 import 在您系统中的任何位置。您可以通过将包文件夹复制到您环境的 site-packages 文件夹来实现。这是python在导入包时查看的路径。

大佬总结

以上是大佬教程为你收集整理的Python 子包 - 绝对导入失败全部内容,希望文章能够帮你解决Python 子包 - 绝对导入失败所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:-Python