2016-03-28 32 views
2

我寫了一個由單一功能組成的模塊。我想能夠使用它像tqdm如何工作:如何在Python模塊中公開一個函數?

>>> from tqdm import tqdm 
>>> tqdm 
<function tqdm.tqdm> 

但我不知道如何設置這種方式。下面是我有:

>>> from missingno import missingno 
>>> missingno 
<module 'missingno.missingno' from '[...]'> 
>>> missingno.missingno 
<function missingno.missingno.missingno> 

我敢肯定,這已被問過無數次,但我不能確定如何包裝作品,並不能找到一個答案,這個特殊的謎。

這是存儲庫:https://github.com/ResidentMario/missingno

回答

1

看過pandas-profiling後我發現了。以下行添加到__init__.py()

from .missingno import missingno

+0

另外,如果你想要真正的超級清理,請在'__init __。py'文件中添加__all__ = ['missingno']'。 – gaborous

0

我不完全知道什麼在這裏你的問題,但我想你想要的是:

from missingno.missingno import missingno 

你可能要考慮命名的包/文件/功能不同的東西,哈哈。

+0

我希望它只是'從missingno進口missingno'但是,作爲[tqdm(https://github.com/noamraph/tqdm)一樣。麻煩的是,他們的資源庫似乎通過將模塊置於資源庫(?)的頂部而不是模塊級文件夾來實現此目的,但pip和PyPi都拒絕這樣的文件結構。 –

+0

你可以編寫一個腳本來執行安裝到一個單獨的位置,並且在你的PYTHONPATH指向那個位置(即當你安裝一個名爲「something」的目錄並把missingno.py放在那個目錄中時,然後將PYTHONPATH指向「something 「)。 – mwm314

+0

@ResMar否,'tqdm'不會將模塊置於回購頂部,而是置於'tqdm'文件夾內。因此,這可能會引起誤解,因爲模塊文件夾與頂層文件夾名稱相同,但這實際上是一個標準的Python模塊層次結構。 – gaborous

相關問題