当前位置: 首页 > news >正文

记录自己在将python文件变成可访问库文件是碰到的问题

首先我创建了目录bert-lib,用来存储三个用上的py文件,然后将目录标识成Namespace Package,目录结构如下:

但是我在bert_pretrain.py文件中调用BERTModel.py中的类,发现无法调用,然后我死马当活马医,把bert-lib文件名改成了Lib,就生效了。。。

问了deepseek,说是python库/包有明确的命名规则,如下:

Python 模块/包命名规则

  • 合法字符:模块名和包名只能包含:

    • 字母(a-zA-Z

    • 数字(0-9,但不能开头)

    • 下划线(_

  • 禁止字符

    • 连字符(-) → 会导致 ImportError

    • 空格、点(.)等其他符号

也不知道是不是真的,不过保险点还是按这个规则来吧

我还碰上了个问题,就是当我试图使用

from Vocab import EngVocab

在BertModel.py文件中访问同级目录的文件Vocab.py的的类,会报错ModuleNotFoundError:No module named xx。

解决办法:将导入方法改成相对导入就行了

from .Vocab import EngVocab
http://www.xdnf.cn/news/1124083.html

相关文章:

  • Linux的相关学习
  • JavaScript进阶篇——第一章 作用域与垃圾回收机制
  • 2025 R3CTF
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(4):语法+单词+復習+发音
  • JS基础知识(上)
  • 设计模式(行为型)-迭代器模式
  • H2 与高斯数据库兼容性解决方案:虚拟表与类型处理
  • 前端开发中的常见问题及解决方案
  • 群晖Nas - Docker(ContainerManager)上安装SVN Server和库权限设置问题
  • HarmonyOS从入门到精通:动画设计与实现之九 - 实用动画案例详解(下)
  • Redis作缓存时存在的问题及其解决方案
  • mysql 与redis缓存一致性,延时双删 和先更新数据库,再删除缓存,哪个方案好
  • 《Librosa :一个专为音频信号处理和音乐分析设计的Python库》
  • Pythonic:Python 语言习惯和哲学的代码风格
  • Kubernetes 高级调度01
  • STM32F1_Hal库学习UART
  • 破局与重构:文心大模型开源的产业变革密码
  • Java-ThreadLocal
  • java基础(day07)
  • 打开xmind文件出现黑色
  • 【LeetCode 热题 100】94. 二叉树的中序遍历——DFS
  • 13.计算 Python 字符串的字节大小
  • SpringMVC2
  • 鸿蒙开发NDK之---- 如何将ArkTs的类型转化成C++对应的类型(基础类型,包含部分代码解释)
  • 修改主机名颜色脚本
  • 虚拟货币交易:游走在合法与犯罪的生死线
  • 在Adobe Substance 3D Painter中,已经有基础图层,如何新建一个图层A,clone基础图层的纹理和内容到A图层
  • Java:继承和多态(必会知识点整理)
  • 【React Natve】NetworkError 和 TouchableOpacity 组件
  • Python 基础语法2:组合数据类型、异常