问题描述
我试图用Python创建一个新模块。它是git链接:https://github.com/Sanmitha-Sadhishkumar/strman 使用pip上传并安装该模块后,我发现我可以通过以下方式访问该模块
import strman.strman as s
s.func_name
要对其进行访问需要进行哪些更改
import strman
strman.func_name
解决方法
您要在__init__.py
文件中使用相对导入。
from .strman import *
您有一个strman
包(外部目录),并且其中有一个strman
模块(strman.py
文件)。这是一个非常普遍的模式。但是如果没有相对导入,您的__init__.py
就无法从层次结构的足够深的位置导入。
更一般而言,每当从项目中的同级模块导入时,几乎总是应该使用相对导入,因为它是显式的,并且避免了各种复杂的情况,例如您的案例。
,您必须将文件移动到主目录中。您的目录如下所示:
\myProject
- init.py
- strman.py
- main.py # <-- this would be the file your programming is
在docs
中了解有关模块的更多信息