首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在bash中困难地执行项目python

在bash中困难地执行项目python
EN

Stack Overflow用户
提问于 2022-10-24 11:36:38
回答 2查看 37关注 0票数 3

我正在尝试在终端中执行项目python,但出现了以下错误:

代码语言:javascript
复制
(base) hopu@docker-manager1:~/bentoml-airquality$ python src/main.py 
Traceback (most recent call last):
  File "src/main.py", line 7, in <module>
    from src import VERSION, SERVICE, DOCKER_IMAGE_NAME
ModuleNotFoundError: No module named 'src'

项目层次如下:

项目层次结构

如果我使用任何IDE执行项目,它会运行得很好。

EN

回答 2

Stack Overflow用户

发布于 2022-10-24 11:45:03

您的PYTHONPATH是由python可执行文件所在的目录决定的,而不是从执行它的位置确定的。因此,您应该能够直接导入文件,而不是从源导入。您正在尝试从/src导入,但是您的路径已经在那里了。也许像这样的事情可能会奏效:

代码语言:javascript
复制
from . import VERSION, SERVICE, DOCKER_IMAGE_NAME
票数 2
EN

Stack Overflow用户

发布于 2022-10-24 12:20:57

翻译是对的。要使from src import VERSION, SERVICE, DOCKER_IMAGE_NAME有效,src必须是从Python访问的模块或包。问题是,python程序在当前目录中搜索要运行的模块或包,但是当前目录没有添加到Python中。因此,它确实找到了src/main.py模块,但是在解释器中却找不到src包。

我们能做些什么?

  1. 将包含src的目录添加到Python路径中。 在类似Unix的系统上,只需: PYTHONPATH=".:$PYTHONPATH“python /main.py
  2. 将模块作为包元素启动: python -m src.main

第二种方法还有一个额外的优点:您可以使用Pythonic from . import ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74180540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档