Python:相对导入

达里奥

我正在尝试使用具有以下结构的包: 在此处输入图片说明

文件 prova.py 仅包含以下行:

import bipartite_class

而 bipartite_class.py 具有以下初始行:

from .nes import *
from .mod import *
from .graphs import *
from .contrib import *
from .null import *
from .tests import *

from getref import *

import pickle
import tempfile
import os
import numpy as np
import networkx as nx

import os.path

当我尝试编译 prova.py 时,出现以下错误:

Traceback (most recent call last):
  File "prova.py", line 1, in <module>
    import bipartite_class
  File "/Desktop/CD_BEST/Bipartito/bipy-master/bipy/bipartite_class.py", line 1, in <module>
    from .nes import *
ValueError: Attempted relative import in non-package

如果我尝试删除 bipartite_class.py 中的点,我会得到:

Traceback (most recent call last):
  File "prova.py", line 1, in <module>
    import bipartite_class
  File "/Desktop/CD_BEST/Bipartito/bipy-master/bipy/bipartite_class.py", line 1, in <module>
    from nes import *
  File "/Desktop/CD_BEST/Bipartito/bipy-master/bipy/nes/_init_.py", line 5, in <module>
    from nodf import *
  File "/Desktop/CD_BEST/Bipartito/bipy-master/bipy/nes/nodf.py", line 3, in <module>
    from ..mainfuncs import *
ValueError: Attempted relative import beyond toplevel package

我该怎么办?

茉莉花

看起来您正在使用这个:https : //github.com/tpoisot/bipy,这prova.py是您的补充(如果您在以后的问题中包含此类信息,那就太好了!)

问题是它bipartite_class不是一个独立的模块,而是包的一部分bipy这意味着您需要从包外部导入它。您需要将prova.py一个目录向上移动bipy-master,并将其内容更改为:

from bipy import bipartite_class

然后你应该能够运行prova.py.


更好的是实际安装bipy。由于项目包含setup.py,您可以运行:

python setup.py install

然后您可以bipy从任何地方导入,这样您就可以将使用它的程序放在自己的目录中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章