1.场景(when):

当我们基于一个已存在的项目(以下称为项目B)开发新项目(以下称为项目A)的时候,需要将已存在的项目加入到新项目的依赖中。

2.如何做(how):

如果你用PyCharm开发python,那么会非常简单,你只需要把B项目加入到项目A的Content Root中,就可以了

操作顺序:File->Settings->Project->Projiect Structure

假如没有使用PyCharm,可以把项目B加入到运行环境中(这个方法自行百度)

另外一种方法着重讲一下,两个项目结构如图:

假如bussiness-platform-demo(项目A)想要依赖bussiness_platform(项目B)应该怎么做呢?

思路如下:

  1. 项目A中建一个package(如图中的proxy_package),在__init__.py中使用sys.path.append()把项目B追加进来
  2. 在__init__.py中把项目B中的包都导入进来
  3. 在其他引用的地方只需要使用from proxy_package便可以导入所需的module

下面是具体步骤(step):

1.在项目A中建立代理包proxy_package,只需保留__init__.py文件

__init__.py文件中追加项目B

# 运行时路径。并非__init__.py的路径
BASE_DIR = "..\\business_platform"
if Path(BASE_DIR).exists():sys.path.append(BASE_DIR)
else:# 尝试下探一级路径sys.path.append("..\\..\\business_platform")

2.导入B中其他包

# 导入项目的文件,请忽略静态错误
# **************************************************common
from common import *# **************************************************configuration
from configuration import *# **************************************************service
from service import *# **************************************************business_platform
from dynamic_config import *

3.项目A中使用

只需要from proxy_package就可以导入上述包中的所有module

# eg:导入common中module
from proxy_package import redis_utils, UrlPathEnum, thread_utils

python如何引用另外一个项目相关推荐

  1. android引用另一个项目作为library错误

    android有时会引用另一个项目作为library, 但是老是引用不进来,后来发现原来 所引用的项目lirary跟你所在的项目不是同一个工作目录下面, 只要把library项目放到跟你的项目一个工作 ...

  2. python+ tkinter做的一个项目辅助测试工具

    python+tkinter 写的一个项目测试工具 目的是能够自动按照模板向禅道系统 提交bug,自动打包日志并上传到禅道上 以及结合进 项目中一些其他的功能,提升测试效率 主要是记录下 tkinte ...

  3. Python如何引用另一个py文件中的变量

    Python如何引用另一个py文件中的变量 1.新建一个aa.py文件 2.新建一个bb.py文件 将变量和函数功能分开保存,这样可以简化自己的代码,看起来更简洁也便于维护,今天需要用到录入很多多维l ...

  4. python 静态文件以及一个项目框架

    在网上浏览网页,由于现在网速也快了,大概你很少注意网页中那些所谓的静态文件.怎么找出来静态文件呢? 查看一个网页: 上图中,查看其源码,打开<head>,发现里面有不少<script ...

  5. Eclipse 下如何引用另一个项目的资源文件

    为什么要这么做?可参考:Eclipse 下如何引用另一个项目的Java文件 下面直接说下步骤:(项目A 引用 项目B的资源文件) 1.右键 项目A,点击菜单 Properties 2.在弹出的框中,点 ...

  6. eclipse中一个项目引用另一个项目的方法

    我们在开发的时候,有时候需要把一个大的项目打散,尤其是现在微服务的架构很流行,一个大的项目往往被拆成很多小的项目,而有的项目作为公共工程被独立出来,比如有个工程专门提供各种Util工具类,有的工程专门 ...

  7. python无法引用另一个python文件问题 文件名命名问题

    问题 : python的from xxxx.py import 语句无法获取另一个python文件 例子: 在A.py的同级目录下有另一个文件xxx-xxx.py(文件无错,可运行) 在A.py中以下 ...

  8. IDEA一个项目引用另一个项目

    1.导入第一个项目,如下图所示: 2.选择导入第一个项目文件夹,如下图所示: 3.导入第一个Maven项目,如下图所示: 4.导入第一个项目设置,默认设置即可,如下图所示: 5.导入第一个项目,如下图 ...

  9. dubbo项目引用另一个项目的接口

    首先在主项目的pom.xml添加你所需要的jar包 如: <dependency><groupId>com.ssm.com</groupId> <versio ...

最新文章

  1. 在普通PC上安装XENSERVER 6.2
  2. 图片资源 php,php图片转为资源数据
  3. 第四范式陈雨强:做机器学习平台天然就是新基建丨新基建50人
  4. VTK:Rendering之HiddenLineRemoval
  5. LeetCode946-验证栈序列
  6. mybatis多条件批量查询_Mybatis【14】 Mybatis如何实现一对多查询?
  7. nginx启动只有master没有worker_深入探索Nginx工作原理
  8. linux+fstab挂载镜像,通过/etc/fstab自动挂载iso镜像的ISO格式问题
  9. unity update 协程_[转载]【转载】unity3D中使用协程来做“多次调用一次更新”特性的一个大坑。...
  10. 翁恺老师的细胞自动机
  11. python ipaddr库_python访问纯真IP数据库的代码
  12. GPS误差分析及DGPS
  13. 个人注册网站域名怎么注册?能注册哪些?
  14. 历史二—— 浮点运算与数组下标寻址
  15. 计算机主机自动关机如何设置,如何设置电脑自动关机
  16. mmClassification学习笔记
  17. 基于Python的人脸识别(68个识别点)和焦点人物检测
  18. 基于boost库的站内搜索引擎
  19. keychron机械键盘使用感受
  20. 程序报错未定义的引用

热门文章

  1. 炼丹侠必知的11大神经网络结构​汇总
  2. opengl着色器shader介绍
  3. 电影购票APP快速搭建(平台开发)
  4. 山大信息安全原理-第二章复习整理
  5. 压缩感知 (Compressive sensing)之公式及关键点说明
  6. 几种主流网页开发语言的思考(下)
  7. html中的搜索代码,Web自动化(3):网页自动搜索功能
  8. Spring MVC JSP 表单标签教程
  9. Beyond Istio OSS——Istio服务网格的现状与未来
  10. 计算机论文未来展望,从计算机的进化引发对未来的展望论文