当前位置: 首页 > 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.dtcms.com/a/279840.html

相关文章:

  • vert.x 官网docs, vert.x中文文档地址 vertx文档
  • 文心4.5开源之路:引领技术开放新时代!
  • 【前端:Typst】--let关键字的用法
  • 高德开放平台携手阿里云,面向开发者推出地图服务产品MCP Server
  • 外部协作不力影响项目进度,如何加强外部沟通
  • 项目进度压缩影响质量,如何平衡进度与质量
  • LeetCode|Day11|557. 反转字符串中的单词 III|Python刷题笔记
  • 稀土化合物:助力高效种植与健康养殖
  • vue笔记3 VueRouter VueX详细讲解
  • 对象的使用
  • CAN终端电阻为什么是60R+60R,而不直接用120R?
  • 前端vue对接海康摄像头流程
  • Flink窗口处理函数
  • C++-linux 5.gdb调试工具
  • 【从语言幻觉看趋势】从语言幻觉到多智能体协作:GPT多角色系统的技术演进与实践路径
  • 判断端口处于监听状态的方法
  • 腾讯云WAF域名分级防护实战笔记
  • EPLAN 电气制图(八):宏应用与变频器控制回路绘制全攻略
  • ssm学习笔记day07mybatis
  • 如何在 Shopify 中创建退货标签
  • 【C语言】浮点数在内存中的存储:从科学计数法到内存存储
  • 从输入URL到页面呈现都发生了什么?
  • MFC UI大小改变与自适应
  • wpf 实现窗口点击关闭按钮时 ​​隐藏​​ 而不是真正关闭,并且只有当 ​​父窗口关闭时才真正退出​​ 、父子窗口顺序控制与资源安全释放​
  • AI 优化大前端动画性能:流畅性与资源消耗的平衡
  • Django REST framework 源码剖析-URL地址详解(Returning URLs)
  • 亚马逊广告进阶玩法:如何巧妙利用ASIN广告优化产品排名
  • Java面试总结(经典题)(Java多线程)(一)
  • 数据结构——优先队列(priority_queue)的巧妙运用
  • 排序树与无序树:数据结构中的有序性探秘