cari

Rumah  >  Soal Jawab  >  teks badan

python项目之间怎么引用

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

高洛峰高洛峰2887 hari yang lalu456

membalas semua(3)saya akan balas

  • 阿神

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

    Nampaknya ia lebih kepada kerjasama projek saya cadangkan
    1) Program untuk antara muka, yang akan memastikan kemajuan keseluruhan projek anda pada tahap yang besar. Prinsipnya juga agak mudah, iaitu, Projek B tidak perlu melaksanakan pelaksanaan khusus terlebih dahulu, tetapi memutuskan dengan dua pasukan pembangunan Projek A antara muka yang stabil dan yang tidak stabil harus dikhaskan untuk kegunaan kemudian. Pelaksanaan, supaya walaupun ProjectB dikemas kini dengan kerap, ia tidak akan menjejaskan pengekodan ProjectA Jika semua keperluan berikutnya tidak dapat dipertimbangkan sepenuhnya kerana keupayaan pereka bentuk dan arkitek, kami harus mencuba yang terbaik untuk menjadikan ProjectB dapat melakukannya di bawah. premis sumbangsaran Sediakan antara muka yang paling lengkap.
    2) Saya tidak pasti tentang piawaian pengurusan projek dalaman syarikat anda Sebagai contoh, sama ada anda telah melakukan ujian unit yang mencukupi untuk ProjectB untuk memastikan penyepaduan yang lancar dengan ProjectA. atau Kami perlu melakukan beberapa ujian unit asas untuk ProjectB Pelajaran menyakitkan yang tidak terkira banyaknya memberitahu kami bahawa untuk bahasa yang ditaip lemah seperti Python, pasti akan ada masalah jika UT tidak mencukupi.
    3) Apabila 1&2 diselesaikan, anda boleh memilih sebarang cara untuk melepaskan ProjectB, sama ada penyegerakan rsync, keluaran docker atau kemas kini svn Selepas setiap keluaran, anda boleh melakukan ujian integrasi dan melihat kualiti kod.
    4) Jika perancangan semasa ProjectB sangat lemah, tiada API yang stabil, dan ia sering berubah Jika ini sudah menjadi fakta yang pasti, adalah disyorkan agar anda merangkum antara muka ProjectB dan menyediakan enkapsulasi berorientasikan logik. , iaitu, dalam ProjectB Tambah lapisan perantaraan antara ProjectA dan ProjectA ProjectA tidak seharusnya mengendalikan ProjectB secara langsung, tetapi mengendalikan lapisan perantaraan untuk memastikan kestabilan kod A/B

    .

    balas
    0
  • PHPz

    PHPz2017-04-17 17:44:10

    Apabila dibungkus sebagai modul, ia dipasang terus ke laluan projek, supaya anda tidak perlu memasangnya semula apabila mengubah suai Projek B

    balas
    0
  • 高洛峰

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

    Pasang ProjectB dalam mod pembangunan dalam persekitaran ProjectA Anda boleh terus mengemas kini kod ProjectB pada masa hadapan tanpa memasangnya semula.

    git clone ProjectB
    python ProjectB/setup.py develop   # 开发模式安装

    balas
    0
  • Batalbalas