在linux环境下使用命令行运行python项目时包(模块Module)以及文件路径的问题

背景

由于个人一直习惯就是使用绝对路径,所以以前一般比较少碰到标题所示的问题。这次遇到一个项目,其全部使用的是相对路径,然后我在linux环境下运行

powershell 复制代码
python /project/main.py

报错了。

解决办法

首先,/project/main.py是一个绝对路径,所以你进入linux之后,可以在任何工作目录执行上述命令。

但是,如果这个项目里面有代码使用相对路径,例如代码要打开文件file="config/set.yaml",那么就有可能报错。不报错的情况是,你需要在project工作目录执行上述命令。

其次,如果项目文件中导入包是相对路径(这个一般都是),例如假设我们的project目录下有一个包叫做easy_tpp,然后要导入该包下面的Config这个文件,

powershell 复制代码
from easy_tpp import Config

那么如上还是可能会报错,即没有模型名字叫做easy_tpp

powershell 复制代码
no module named "easy_tpp"

这个时候的解决方法是:在main文件开头补上(注意,是最开头):

powershell 复制代码
import sys
sys.path.append("/project")

提醒python如果找不到包可以在上述目录下寻找。

相关推荐
LJianK11 分钟前
《Java 数据分组的四种姿势:从 for 循环到 Stream API》
java·linux·服务器
信创DevOps先锋5 分钟前
中国DevOps市场格局重塑:本土化与全球化技术的博弈与融合
运维·devops
亚远景aspice5 分钟前
亚远景-ISO 21434:汽车网络安全全生命周期风险管理的技术框架
运维·网络·安全
EasyGBS10 分钟前
国标GB28181视频分析平台EasyGBS视频质量诊断技术让监控从“能用”变“好用”
运维·人工智能·音视频
白鸽梦游指南12 分钟前
docker部署和常规使用方法
运维·docker·容器
林九生13 分钟前
【Claude Code】Claude Code 接入阿里云百炼 Coding Plan 完整配置教程(Linux版)
linux·阿里云·云计算
平行云PVT9 小时前
数字孪生信创云渲染技术解析:从混合信创到全国产化架构
linux·unity·云原生·ue5·图形渲染·webgl·gpu算力
xdscode10 小时前
Linux云服务器安装openclaw,并对接飞书通道
linux·服务器·飞书·openclaw
lswzw10 小时前
win11家庭版 安装 openclaw
服务器
Percep_gan10 小时前
Linux中安装Redis,很详细
linux·运维·redis