python-3.x - 无法在目录中导入另一个 python 文件
问题描述
试图将另一个 python 文件导入到程序中。这是我的目录结构:
+root<br>
|-- train.py<br>
|--+src<br>
| |--layers.py
| |--mccnn.py
目前我的train.py
文件使用这个
import src.mccnn as mccnn
import src.layers as L
并且mccnn.py
文件使用
import layers as L
当我运行时test.py
,我遇到了一个错误“没有名为'layers'的模块,在回溯中我可以看到它在mccnn.py
文件中出现
我正在根文件夹中运行 python 文件。我不知道为什么这会引发错误。我能找到的答案都没有帮助解决这个问题。
PS:原始代码是为 Python 2.7 编写的。不确定是否有相关信息。
解决方案
按照结构如下
+root
|--
|----src
|------<package_name>
| |--__init__.py
| |--layers.py
| |--mccnn.py
| |--train.py<br>
然后在 mccnn.py 中说你可以说
import layers as L
,在 train.py 中你可以说
import mccnn as mccnn
import layers as L
更多细节可以在这里看到https://packaging.python.org/tutorials/packaging-projects/
推荐阅读
- sql - 如何在 PostgreSQL 中为表“B”创建一个检查约束,以检查表“A”中的值是否至少为 1 或更多?
- hibernate - 如何将 Hibernate 5 配置为与 Hibernate 4 一样保存 java.util.Calendar?
- python-3.x - 如何使用 os.environ['CUDA_VISIBLE_DEVICES'] ="" 将 GPU 计数设置为 0?
- instagram-api - 如何通过 API 从 Instagram 检索广告帖子
- c# - 网格列占据整个屏幕
- flutter - 如何设置边框半径并删除标题栏以显示日期选择器?
- c - C中的类型转换错误,使用函数时返回char值
- ruby-on-rails - 使用 rspec-sidekiq 测试 sidekiq 工作者不起作用
- javascript - Node JS 和 Angular 电子邮件验证:无论如何要在响应中发送 html?
- java - 为什么 JBoss 在 Linux 上启动多个子进程