[英]Python: Relative imports
文件 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
不是獨立模塊,而是 package bipy
的一部分。 這意味着您需要從 package 外部導入它。 您需要將prova.py
上移一個目錄到bipy-master
,並將其內容更改為:
from bipy import bipartite_class
然后你應該能夠運行prova.py
。
更好的是實際安裝bipy。 因為該項目包含一個setup.py
,您可以運行:
python setup.py install
然后,您可以從任何地方導入bipy
,這樣您就可以將使用它的程序放在自己的目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.