簡體   English   中英

導入已安裝軟件包的最佳做法

[英]Best practices for imports for installed package

想象我有一個通過setup.py安裝的“ foolibrary”軟件包,而我是主要開發人員。 調用包內部導入的首選方法是什么? 想象一下foolibrary有兩個模塊(a.py,b.py),我需要在c.py中訪問它們:

  • foolibrary
    • a.py
    • b.py
    • c.py

在c.py中,導入這些文件的首選方式是什么?為什么?

from a import blah

VS

from foolibrary.a import blah

VS

from .a import blah

我已經看過所有這三種方法,並且通常使用foolibrary.a import樣式,但大多出於習慣。

相對進口的語法, from .a import blah ,就是做事情現代生活方式。 請參閱PEP 328, https://www.python.org/dev/peps/pep-0328/ ,以了解它為何優於其他方法。 (盡管可以肯定的是,PEP 8傾向於絕對出口,但它也允許包裝內相對進口作為可接受的替代方案)。

順便說一句,順便說一句,我總是從模塊內部只導入模塊 ,而不導入“東西”(函數,類等)。

但是,這是一個樣式約束,遠非普遍適用(但是,它 https://google-styleguide.googlecode.com/svn/trunk/pyguide.html的一部分,並且在Google已有10年了,幫助塑造了部分Python的實踐和風格,我偏愛於這種風格:-)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM