python - 运行python脚本时,找不到模块错误
问题描述
我有一个项目文件夹,里面有子文件夹,主要是工具和库。在其中一个 python 文件中,我试图从与工具文件夹处于同一级别的 lib 中导入一个文件。但是脚本给出了找不到模块的错误。
以下是文件夹结构的副本:
sever
├── tools
│ └── file.py
└── lib
└── some_file.py
谁能告诉我可能的错误是什么。我的服务器文件夹包含 __init.py,但我仍然不知道错误的原因或如何纠正它。任何帮助将不胜感激。
错误代码如下:
ranjeet@ubuntu:~/Desktop/Connect/server$ tools/protected.py
/home/ranjeet/Desktop/Connect/server/tools ['/home/ranjeet/Desktop/Connect/server/tools', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ranjeet/Desktop/Connect/Env/lib/python3.6/site-packages']
Traceback (most recent call last): File "tools/protected.py", line 13, in <module> from server.lib.protected import ProtectedPackage
ModuleNotFoundError: No module named 'lib'
该文件具有以下行代码,并在最后一行引发错误:
import base64
import os
import sys
import argparse
import secrets
from lib.protected import Package
解决方案
尝试这个:
from .server.lib.protected import ProtectedPackage
推荐阅读
- c# - 使用命令 Update-Database 时无法连接到 DATABASE
- python - 导入模块失败,因为 __name__ 是 __main__
- java - LibGDX:根据单词的长度在屏幕上创建文本按钮的数量?
- javascript - 如何预选生成的单选按钮?
- cuda - 在 Ubuntu 18.04 下无法将 cuda 示例与 clang++-9 链接
- python - 在熊猫中进行逆多热编码的最快方法是什么?
- python-3.x - 每次会话更改名称的 Selenium Select 输入框
- python - 我正在尝试访问“Energy Indicator.xls”
- ios - SwiftUI - 将 Firbase 数据库输出分配给数据模型
- java - @Inject on field 在 Guice 中给出 NullPointerException