検索

ホームページ  >  に質問  >  本文

python项目之间怎么引用

两个python工程ProjectA和ProjectB,正常方式是将ProjectB打包成一个模块然后给ProjectA引用,但是现在ProjectB修改非常频繁无法稳定,如何直接在ProjectA中引用ProjectB呢?
环境是windows+pycharm

高洛峰高洛峰2887日前454

全員に返信(3)返信します

  • 阿神

    阿神2017-04-17 17:44:10

    それはプロジェクトのコラボレーションに重点が置かれているようです。
    1) プロジェクト全体を確実に前進させるためのインターフェースのプログラムをお勧めします。原則も比較的単純です。つまり、プロジェクト B が最初に特定の実装を実装する必要はありませんが、プロジェクト A の 2 つの開発チームと協力して、どのインターフェイスが安定しており、どのインターフェイスが不安定な API を後で使用するために予約しておくかを決定します。 ProjectB が頻繁に更新されても、ProjectA のコーディングに影響を与えないように実装する必要があります。設計者やアーキテクトの能力により、その後のニーズをすべて考慮できない場合は、ProjectB が更新できるように最善を尽くす必要があります。ブレーンストーミングの前提として、可能な限り完全なインターフェイスを提供します。
    2) あなたの会社の内部プロジェクト管理標準についてはわかりません。たとえば、ProjectA とのスムーズな統合を保証するために ProjectB の単体テストを十分に行ったかどうか、まだ行っていない場合は、主要なノードでそれを行うことをお勧めします。または ProjectB に対して基本的な単体テストを行う必要があります。数え切れないほどの痛ましい教訓から、Python のような弱い型付け言語では、十分な UT がないと必ず問題が発生することがわかります。
    3) 1 と 2 が解決されたら、rsync 同期、docker リリース、または svn 更新のいずれかの方法を選択して、各リリース後に統合テストを実行してコードの品質を確認できます。
    4) ProjectB の現在の計画が非常に不十分で、安定した API がなく、頻繁に変更される場合、これがすでに確立されている場合は、ProjectB インターフェイスをカプセル化し、ロジック指向のカプセル化を提供することをお勧めします。つまり、ProjectB に ProjectA と ProjectA の間に中間層を追加します。ProjectA は ProjectB を直接操作するのではなく、A/B

    のコードの安定性を確保するために中間層を操作する必要があります。

    返事
    0
  • PHPz

    PHPz2017-04-17 17:44:10

    モジュールとしてパッケージ化されている場合は、プロジェクト パスに直接インストールするため、プロジェクト B を変更するときに再度インストールする必要はありません

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 17:44:10

    ProjectB を ProjectA の環境に開発モードでインストールします。将来、ProjectB を再インストールせずに、直接 ProjectB のコードを更新できます。

    リーリー

    返事
    0
  • キャンセル返事