python项目之间怎么引用
高洛峰
高洛峰 2017-04-17 17:42:10
0
3
447

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(3)
阿神

Il semble qu'il s'agisse davantage de collaboration sur un projet. Je suggère
1) Un programme pour les interfaces, qui assurera dans une large mesure l'avancement global de votre projet. Le principe est également relativement simple, c'est-à-dire que le projet B n'a pas besoin d'implémenter d'abord l'implémentation spécifique, mais décide avec les deux équipes de développement du projet A quelles interfaces sont stables et lesquelles sont instables. Les API instables doivent être réservées pour une utilisation ultérieure. Implémentation, de sorte que même si ProjectB est mis à jour fréquemment, cela n'affectera pas le codage de ProjectA. Si tous les besoins ultérieurs ne peuvent pas être pleinement pris en compte en raison des capacités des concepteurs et des architectes, nous devrions faire de notre mieux pour que ProjectB puisse le faire sous. le principe du brainstorming. Fournir l’interface la plus complète possible.
2) Je ne suis pas sûr des normes de gestion de projet internes de votre entreprise. Par exemple, si vous avez effectué suffisamment de tests unitaires pour ProjectB pour garantir une intégration fluide avec ProjectA. Si ce n'est pas le cas avant, je vous suggère de le faire sur les nœuds clés, ou Nous devons faire quelques tests unitaires de base pour ProjectB. D'innombrables leçons douloureuses nous disent que pour un langage faiblement typé comme Python, il y aura certainement des problèmes s'il n'y a pas assez d'UT.
3) Lorsque 1 et 2 sont résolus, vous pouvez choisir n'importe quelle manière de publier ProjectB, qu'il s'agisse de la synchronisation rsync, de la version Docker ou de la mise à jour svn. Après chaque version, vous pouvez effectuer un test d'intégration et voir la qualité du code.
4) Si la planification actuelle de ProjectB est très mauvaise, il n'y a pas d'API stable et elle change souvent. Si cela est déjà un fait établi, il est recommandé d'encapsuler l'interface de ProjectB et de fournir une encapsulation orientée logique. , c'est-à-dire que dans ProjectB Ajoutez une couche intermédiaire entre ProjectA et ProjectA ProjectA ne doit pas exploiter directement ProjectB, mais exploiter la couche intermédiaire pour assurer la stabilité du code de A/B

.
PHPzhong

Lorsqu'il est emballé sous forme de module, il est installé directement dans le chemin du projet, de sorte que vous n'avez pas besoin de le réinstaller lors de la modification du projet B

小葫芦

Installez ProjectB en mode développement dans l'environnement de ProjectA Vous pourrez directement mettre à jour le code de ProjectB dans le futur sans le réinstaller.

git clone ProjectB
python ProjectB/setup.py develop   # 开发模式安装
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal