python - 使用 __init__.py 从目录导入本地 python 模块
问题描述
我一直在做一个需要编辑和使用开源项目的项目,我们称之为 osproj。我将包含已编辑脚本的文件夹重命名为 osprojmine。
这是一个示例目录结构:
root/
mycode.py
osprojmine/
__init__.py
foo.py
bar.py
在 mycode.py 我有 import 语句
import osprojmine as osproj
我已经能够在 mycode.py 中毫无问题地使用osproj.module()
和运行,并且一切都运行顺利。osproj.class()
当我将文件发送给我的同事时,问题就出现了。他正在获得一个
ModuleNotFoundError: No module named 'osprojmine'
我正在使用 python 3.8.5。他在 3.9.6 上并已尝试降级。
看来他的 python 解释器只是没有将 osprojmine 识别为 python 包,但在我看来,它可以吗?很迷茫。我对这个领域比较陌生,所以欢迎任何和所有的建议!
解决方案
同事(以及您)应该将代码运行为:
$ cd root
$ python -m mycode
这样绝对导入将得到解决
推荐阅读
- javascript - 是否可以检查我将 c# 代码转换为 javascript
- python - 从 SQLite 游标对象访问数据 (Python)
- lua - 如何从Lua中的字符串中删除最后一行?
- javascript - Rxjs 在第一次从多个订阅发出时做一些事情
- c++ - 如何解决模板转换为int
- c# - 使用 Swashbuckle 定义意外参数
- flutter - Flutter:从 AlertBuilder 弹出,然后显示 SnackBar
- javascript - 如何在没有用户交互的情况下通过 javascript 在 HTML 页面中打开文件选择器对话框
- python - 获取python中第一次出现的字符串
- python - 当我停止运行 python 脚本时如何停止电报机器人运行?