[英]Importing a module from an upper directory within a package when the package is imported from another place
我有一个遇到问题的项目。
kreveik.
|-- classes
| |-- baseclasses.py
| |-- family.py
| |-- __init__.py
| `-- network.py
|-- family
| |-- __init__.py
| `-- killer.py
`-- genetic
`-- __init__.py
这是项目的相关部分。 追溯向我解释了我在代码中试图做的事情。
/home/mali/workspace/kreveik/<ipython-input-7-ec5770ffbdf2> in <module>()
----> 1 import kreveik
/home/mali/workspace/kreveik/kreveik/__init__.py in <module>()
----> 1 import classes
2 import numpy as num
3 import matplotlib.pyplot as plt
4 import network
5 import probes
/home/mali/workspace/kreveik/kreveik/classes/__init__.py in <module>()
9 import copy
10 from baseclasses import ProbeableObj,Ensemble,Element
---> 11 from network import TopologicalNetwork,Motif,Network
12 from family import Family
13
/home/mali/workspace/kreveik/kreveik/classes/network.py in <module>()
3 """
4
----> 5 import classes
6 import numpy as num
7 import matplotlib.pyplot as plt
ImportError: No module named classes
我在目录/kreveik
打开一个交互式python会话,然后尝试导入kreveik程序包,该程序的初始化文件位于/kreveik/kreveik/__init__.py
在那里,它开始导入该程序包中所需的其他工具,并在包classes
,我导入了最常用的类,梦想着能够通过它们相对于/kreveik/kreveik/
文件夹在层次结构中的位置来到达它们,但是在文件/kreveik/kreveik/classes/network.py
对包classes
的调用失败,就好像它不在项目目录的最顶层。 层次结构。 我打算访问所有类,将它们称为classes.baseclasses.SomeClass()
,与我在项目中的调用位置无关。 我在哪里做错了?
谢谢PS。 我知道有类似的条目可以解决这个问题,但是我找不到能帮助我的条目。
从子程序包导入时,还必须引用封闭的程序包。
在此示例中,在network.py中,使用
from kreivik.classes import *
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.