python import 第三方源代码

由于引用第三发源代码总是或多或少的需要去修改. 将第三方的源代码引入之后一般都是放在源代码下面某个目录下.
例如我会将其它第三方的神经网络都放在nn下面.
但是,主项目引入 nn下面的目录中的文件时, 会报错提示找不到 module

ModuleNotFoundError: No module named 'nn.Pytorch_DeepLabV3Plus.modeling.modeling'

作为一个独立的项目时, 第三方的源代码不会把自己写成相对路径的 引用方式.
这个时候最合适的方法是用 sys.path 来解决第三方源代码的 import 问题.
做法是在第三方源代码第一个会被运行的地方, 加入下面的代码

import sys 
import os
sys.path.append(os.path.dirname(__file__))

这样第三方源代码怎么写都不影响 import
无论是第三方源代码自主运行, 还是被别的代码引用, 都不需要修改源代码的引用

当然也可以自己手动在自己的主程序中依次加入自己的路径. 例如

import sys 
import os
sys.path.append(os.path.dirname(__file__)+'/nn/unet') # 确保第三方源代码可以正常import
sys.path.append(os.path.dirname(__file__)+'/nn/yolov5')# 确保第三方源代码可以正常import
sys.path.append(os.path.dirname(__file__)+'/nn/maskrcnn')# 确保第三方源代码可以正常import

import nn.unet
import nn.yolov5
import nn.maskrcnn

def main(): 
	print("引入第三方的源代码")
	

个人建议在自己的主程序中增加, 这样可以一目了然的知道你引入了多少第三方的源代码.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值