python unresolved reference,python類加載_如何重新加載一個類在python shell?

 2023-10-20 阅读 30 评论 0

摘要:如果我導入一個定義了屬于同一個包的同名類的模塊,它將被導入為一個類,而不是一個模塊,因為父包的__init__.py。詳情請參見different import results at different directories。在Python shell或ipython shell中,如果我這樣做python unresolved

如果我導入一個定義了屬于同一個包的同名類的模塊,它將被導入為一個類,而不是一個模塊,因為父包的__init__.py。詳情請參見

different import results at different directories。在Python shell或ipython shell中,如果我這樣做

python unresolved reference、從MyPak導入MyMod

MyModule總是作為類導入,因此我無法重新加載它(reload()僅適用于模塊)。跑

從MyPak導入MyMod

python調用py文件,再次似乎沒有更新類定義。任何人都可以建議一種方法來更新python shell中的類?

ps。而不重新啟動python解釋器。

pps。如果你有代碼在手,想要測試它:我其實是談論BioPython,我正在處理Bio.PDB.PDBParser。我有一個ipython shell(v0.10)和編輯PDBParser.py。沒有辦法重新加載它在ipython。

python調用ctypes、所以這里是我做了:

# start ipython v0.10

import Bio

from Bio.PDB import PDBParser

p = PDBParser()

s = p.get_structure()

# then I make changes,e.g. simply print some text, in PDBParser.py

del Bio

del PDBParser

del s

import Bio # or reload(Bio) without deleting all the objects

from Bio.PDB import PDBParser

p = PDBParser()

s = p.get_structure() # expected output after change not seen :(

我看不到打印的文本。這些更改沒有以某種方式應用。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/152746.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息