mhe*_*wig 12 python import package
我知道这个问题在这里已被多次询问了,我可能会阅读大部分答案(包括这个和那个)以及python文档,但仍然找不到我非常简单的导入问题的答案.这很简单,我必须错过一些愚蠢的东西,但我还没有看到它.我设置了以下结构:
myproject
myscript.py
MyPackage
__init.py__
mymodule.py
Run Code Online (Sandbox Code Playgroud)
我只是想mymodule.p从myscript.py(或命令行python解释器,应该是相同的)加载y .
myscript.py 包含:
#!/usr/bin/python
import MyPackage
Run Code Online (Sandbox Code Playgroud)
__init.py__ 包含:
from . import mymodule
Run Code Online (Sandbox Code Playgroud)
mymodule.py 包含
#!/usr/bin/python
def myfunction():
print "mymessage"
Run Code Online (Sandbox Code Playgroud)
我的目标是打电话给myfunction,myscript.py但如果我试着打电话给我得到的模块
$python myscript.py
Traceback (most recent call last):
File "myscript.py", line 2, in <module>
import MyPackage
ImportError: No module named MyPackage
Run Code Online (Sandbox Code Playgroud)
PYTHONPATH环境变量设置为myproject目录以及to .和to.__init.py__留空了myproject目录中启动的python解释器的import语句我尝试了以下import语句:
from MyPackage import mymodule
import MyPackage.mymodule
import MyPackage.mymodule as module
Run Code Online (Sandbox Code Playgroud)
一切都没有成功(相同的错误信息).
如果我mymodule.py在不使用包的情况下放入项目目录,导入工作正常.但我不明白为什么从子包导入不起作用.知道我怎么能让它工作?
感谢帮助!