首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法导入我的python模块,尽管它在层次结构中处于同一级别

无法导入我的python模块,尽管它在层次结构中处于同一级别
EN

Stack Overflow用户
提问于 2021-01-22 03:52:18
回答 1查看 25关注 0票数 0

我正在写一个内部使用的库,它叫做"etllib",我有以下结构:

代码语言:javascript
复制
etl-lib
├── README.md
├── etllib
│   ├── __init__.py
│   ├── client
│   │   ├── __init__.py
│   │   ├── elastic.py
│   │   └── qradar.py
│   ├── etl
│   │   ├── __init__.py
│   │   └── etl_imperva.py
│   └── util
│       ├── __init__.py
│       ├── config.py
│       ├── daemon.py
│       ├── elastic
│       │   ├── __init__.py
│       │   └── impeva_index_config.py
│       └── imperva
│           ├── __init__.py
│           ├── kpe_config.py
│           └── query_config.py
├── scripts
│   └── etl_imperva
└── setup.py

我在etllib/scripts中有一个名为"etl_imperva“的脚本。里面的代码如下所示:

代码语言:javascript
复制
#!/usr/bin/python3
import sys
from etllib.etl.etl_imperva import ETL


# Run with python3 imperva_run.py start|run|stop|restart
ETL.startup(sys.argv)

如果我安装这个包(Etllib)并调用这个脚本,它就能正常工作。但是当我需要测试东西时,我如何告诉python使用我的工作目录中的模块,而不是安装的模块?因为每次我对模块进行更改时,我都需要重新安装软件包,这有点耗时。

我还尝试卸载包以进行测试,但当我运行此脚本时,我得到以下错误:

代码语言:javascript
复制
Exception has occurred: ModuleNotFoundError
No module named 'etllib'
  File "/home/jleonse/etl-lib/scripts/run_imperva", line 3, in <module>
    from etllib.etl.etl_imperva import ETL

有没有更好的方法来做这件事?

EN

回答 1

Stack Overflow用户

发布于 2021-01-22 04:06:39

实际上,它在层次结构中不在同一级别上。

只有当etllib在同一目录中,或者在系统路径中的某个目录中,但etllib在父目录中,因此它找不到它时,from etllib.etl.etl_imperva import ETL才会起作用。

因此,如果您将项目结构更改为:

代码语言:javascript
复制
etl-lib
├── README.md
├── etllib
│   ├── __init__.py
│   ├── client
│   │   ├── __init__.py
│   │   ├── elastic.py
│   │   └── qradar.py
│   ├── etl
│   │   ├── __init__.py
│   │   └── etl_imperva.py
│   └── util
│       ├── __init__.py
│       ├── config.py
│       ├── daemon.py
│       ├── elastic
│       │   ├── __init__.py
│       │   └── impeva_index_config.py
│       └── imperva
│           ├── __init__.py
│           ├── kpe_config.py
│           └── query_config.py
├── etl_imperva
│
└── setup.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65834811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档