首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:没有一个模块名为< name>,用于本地模块导入

ImportError:没有一个模块名为< name>,用于本地模块导入
EN

Stack Overflow用户
提问于 2022-03-30 15:53:05
回答 1查看 139关注 0票数 0

我对Python非常陌生,对于一个项目我有以下结构:

代码语言:javascript
复制
    server/
        ├── config/
        │   ├── __init__.py
        │   ├── application.py
        │   ├── dev.py
        │   └── qa.py
        ├── lib/
        │   ├── __init__.py
        │   ├── redisdb.py
        │   ├── logger.py
        │   └── geo.py
        └── scripts/
            ├── __init__.py
            ├── my_first_script.py
            └── my_second_script.py

my_first_script.py文件中,我有以下代码:

代码语言:javascript
复制
import pickle
from lib.redisdb import r
import re
import config.application as appconf

print( appconf.DOCUMENT_ENDPOINT )

partnerData = pickle.loads(r.get("partner_date_all"))

print( len(partnerData) )

当我使用以下命令在终端中运行此代码时

代码语言:javascript
复制
python server/scripts/my_first_script.py

我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "my_first_script.py", line 3, in <module>
    from lib.redisdb import r
ImportError: No module named lib.redisdb

我这里使用的是Python 2.7版本。当我也检查Python 3时,我也有相同的错误。现在我如何执行这个文件?如果我的代码没有从其他本地模块导入,那么一切都能正常工作。

EN

回答 1

Stack Overflow用户

发布于 2022-03-30 16:00:54

您的模块都是兄弟级的,并且没有声明父包。

您可以这样修改您的结构,这样您的模块就可以相互了解。

代码语言:javascript
复制
server/ (assuming this is your project root)
    server/ (assuming you want to call your package "server")
        ├── __init__.py
        ├── server.py (your package entry point)
        ├── config/
        │   ├── __init__.py
        │   ├── application.py
        │   ├── dev.py
        │   └── qa.py
        ├── lib/
        │   ├── __init__.py
        │   ├── redisdb.py
        │   ├── logger.py
        │   └── geo.py
        └── scripts/
            ├── __init__.py
            ├── my_first_script.py
            └── my_second_script.py

现在,您的导入可以引用父包:

例如:

代码语言:javascript
复制
# my_first_script.py
from server.config import application
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71680380

复制
相关文章

相似问题

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