python - 无法从包中导入 python 模块
问题描述
我的项目路径是这样的:
main.py
modules/
__init__.py
databaseManager.py
sync.py
excel.py
在 main.py 中:
from modules.databaseManger import addExcelToDb, searchInDbAll
from modules.excel import search, showExcelDirContents
from modules.sync import syncExcelAndDB
例如在 database.py 中:
from modules.excel import showExcelDirContents
from modules.sync import insertExcelNameToSyncDb
但是当我运行 main.py 我得到这个错误:
Traceback (most recent call last):
File "main.py", line 6, in <module>
from modules.databaseManger import searchIn
ImportError: cannot import name 'searchInDbAll'
并且在尝试将模块目录中每个文件中的函数导入到其他文件时也会出错。
我需要一些import
ing 的例子。
解决方案
您可以附加到您放置模块的路径,如下所示:
import sys
sys.path.append('modules/')
或者
import sys
sys.path.append('c:/mycode/stuff/modules/')
请注意,这些是正斜杠,或者您可以使用双反斜杠,例如 \\
然后只需将您的 databaseManger.py 文件放在 /modules 中
您还需要在 /modules 文件夹中有一个文件,名为:
__init__.py
这只是一个空文件
然后你应该能够做到:
from databaseManger import addExcelToDb, searchInDbAll
推荐阅读
- cote - 将 sockend 与 cote 一起使用时遇到问题
- c# - Xamarin.Forms - 与单击事件中的事件类型错误不匹配
- javascript - 向 InstafeedJS 添加“少显示”按钮
- angular - 加载惰性模块的 Angular 路由子节点
- java - MapStruct Java 流
- go - 使用 golang.org/x/text/message 格式化 big.Rat
- rstudio-server - JUpyterLab Rstudio 安装和配置
- azure - Azure WebJobs 未在 Azure Kudo 门户中列出
- reactjs - React 开始登陆 url
- android - 如何从联系人那里获取电子邮件