2016-11-17 86 views
0

我想知道什麼是從網絡位置的缺點,以加載Python模塊加載Python模塊利弊?利弊/來自網絡位置

我已經開發了幾十Python工具,現在我想在整個團隊分享他們和每臺計算機都有Python27本地安裝。但是他們沒有我的工具使用的所有必要模塊。所有這些可能共有兩個額外的模塊,我的工具需要導入。我決定把這些模塊放在網絡上。然後在我的工具,我只有:

sys.path.append('Z:\\pipeline\\site-packages') 
import Shotgun 

這是一個可怕的想法?我發現它非常容易管理,寧願這樣做,然後試圖管理在用戶計算機上安裝各種軟件包以及什麼。

我假設它不會是徵稅加載從幾十通過網絡藝術家的模塊,因爲一個工具加載模塊不再需要與網絡進行通信,對不對?

回答

1

嗯,是的。

代碼綁到一個特定的位置,是一個相當糟糕的主意,這裏有幾個原因。

  • 如果沒有網絡連接,您將無法導入
  • 如果網絡映射莫名其妙的變化,如果你有更新或修復模塊,您必須更新代碼
  • 在網絡上,它的所有的進口商會立即受到影響

那些看起來像此刻的小問題給你,但: 您將無法導入,當你的筆記本電腦與網絡隔離。您必須更新代碼修訂版(!)才能支持其他位置。如果網絡模塊中的更新需要對其導入程序進行本地更新,您將會破壞應用程序。

,永不要配合你的代碼,以目前的隨機環境。

1

多少設備/用戶在你的團隊有哪些?該網絡位置的結構是什麼?您在那裏的文件(模塊)的大小是多少?所有用戶是否有可能嘗試在同一時間加載模塊?

基本上如果你的團隊很小,你不應該真的擔心它。不是最好的解決方案(主要是因爲您可以使用pip installeasy_install輕鬆安裝這些模塊,但是如果您的團隊變得更大(或者如果您使用集羣並嘗試在1000臺機器上同時運行相同的代碼) - 您可能會遇到問題。

如果存儲不是爲多臺機器上訪問(緩存/分發/ RAID) - 你可能會遇到麻煩,如果你會得到很大的

你可以閱讀更多關於distributed file systems這給一個解決方案這種情況。