解决Linux环境下运行代码非根目录问题

解决Linux环境下运行代码非根目录问题

问题:在linux环境下跑代码,我代码中有一句是from codes.train import *,但因为没有设置项目文件夹为根目录,导致出错,提示No module named ‘codes’,如何解决?
推荐使用第三种办法。

解决方法一——代码内部添加根目录

添加项目根目录到sys.path:
在你的代码的顶部,添加以下几行代码,将项目的根目录添加到Python的搜索路径中,以便Python能够找到你的模块:

import sys
import os

# 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 获取项目根目录
project_root = os.path.dirname(current_dir)
# 将项目根目录添加到sys.path中
sys.path.append(project_root)

解决方法二——使用相对导入

如果你的代码中的 codes 模块位于与你的脚本相同的目录下,你可以使用相对导入来引入模块,而不是绝对导入。例如:

from .codes.train import *

这将相对于当前脚本的位置导入 codes 模块

解决方法三——设置PYTHONPATH环境变量

可以设置PYTHONPATH环境变量,将项目根目录添加到Python的搜索路径中。在终端中运行以下命令:

export PYTHONPATH=/path/to/your/project

其中 /path/to/your/project 应该替换为你的项目根目录的实际路径。这将在当前终端会话中使Python能够找到你的模块。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值