2016-11-17 15 views
0

ネットワークロケーションからのPythonモジュールを読み込む際の短所は何ですか?ネットワークロケーションからのPythonモジュールの読み込みの長所/短所

私は数十種類のpythonツールを開発しました。チーム間でそれらを共有したいと思っています。各コンピュータにPython27がローカルにインストールされています。しかし、彼らは私のツールが使用するすべての必要なモジュールを持っていません。すべて一緒に私のツールがインポートする必要がある合計2つの追加モジュールがあるかもしれません。私はこれらのモジュールをネットワーク上に配置することに決めました。私のツールでは、私はちょうど持っている:

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

これはひどい考えですか?私はそれを管理するのがとても簡単だと思って、むしろこれを行い、すべての種類のパッケージをユーザーのコンピュータやその他のものにインストールすることを管理しようとします。

ツールがロードされてモジュールがネットワークと通信する必要がなくなったので、数十人のアーティストからネットワークを介してモジュールをロードするのは面倒ではないでしょうか?

答えて

1

まあ、そうです。

コードを特定の場所に配置することは非常に悪い考えです。ここにはいくつかの理由があります。

  • あなたがネットワークに接続されていない場合は、ネットワークマッピングが何らかの形で変更された場合、あなたは
  • をインポートすることはできませんあなたがモジュールを更新または修正する必要がある場合、あなたはあなたのコード
  • を更新する必要がありますあなたはあなたのラップトップをネットワークから隔離されたときにインポートすることができません :ネットワーク上で、そのすべての輸入業者がすぐ

を影響を受けている者は、現時点ではあなたに少しの問題のように見えるかもしれませんが。別の場所をサポートするためにのみ、コードリビジョン(!)を更新する必要があります。ネットワークモジュールのアップデートでインポータのローカルアップデートが必要な場合は、アプリケーションが壊れてしまいます。

あなたのコードを、現在のランダムな環境に結び付けてはいけません。

1

チームに所属するマシン/ユーザー数はいくつですか?そのネットワークロケーションの構造は何ですか?そこにあるファイル(モジュール)のサイズは?すべてのユーザーが同じ時間にモジュールをロードしようとする可能性はありますか?

あなたのチームが小さい場合、基本的には心配するべきではありません。最良の解決策ではありません(主にpip installまたはeasy_installを使用してこれらのモジュールを簡単にインストールできるためですが、チームが大きくなった場合(またはクラスタを使用して1000のマシンで同じコードを同時に実行しようとすると) 。あなたのストレージが複数のマシン・アクセス(キャッシング/分散/ RAID)のために設計されていない場合

- 。あなたは大きな取得する場合は、トラブルに巻き込まれる可能性がある

あなたはのためのソリューションを提供distributed file systemsについての詳細を読むことができますそのような場合。

関連する問題