我有以下文件夹 struct :

  • app
    • __init__.py
    • utils
    • products

在鱼里.py我输入transform个,如下所示:import utils.transform.

当我跑鱼的时候.Pycharm的py,它工作得非常好.然而当我在跑鱼的时候.从终端上,我得到了错误ModuleNotFoundError: No module named 'utils'.

我在终端中使用的命令:来自应用程序文件夹python products/fish.py.

我已经研究了这里建议的解决方案:Importing files from different folder,将应用程序文件夹的路径添加到sys.path帮助中.然而,我想知道是否有其他方法可以让它在不向fish.py中添加两行代码的情况下工作.这是因为我在/products目录中有很多脚本,不想在每个脚本中添加两行代码.

我查看了一些开源项目,看到了许多从并行文件夹导入模块而不向sys添加任何内容的示例.路径,例如此处:

如何让它以同样的方式为我的项目工作?

推荐答案

你可能想跑python -m products.fish.这与python products/fish.py的区别在于前者大致相当于在shell中执行import products.fish(但将__name__设置为__main__),而后者不知道自己在包层次 struct 中的位置.

Python-3.x相关问答推荐

我有个问题继承遗产合伙人

如何在选中项目时设置QTreeView中整行的 colored颜色 ?

从PYTHON中获取单行和多行的Rguar表达式

如何将python点击参数设置为与选项回调不同的参数的别名?

合并两个数据帧并对某些总和进行求和

CSV-DAT 转换时将引号添加到数据中

Django在POST到外部URL时如何进行CSRF保护? 更新

pip install saxonche v 12.1.0 产生 FileNotFoundError

将 rgb numpy 图像转换为 rgb 列表和相应的索引值

我正在使用 python 线程,当查询 mysql 时,代码似乎在运行并保持在无限循环中,没有返回任何错误

切片的Python复杂性与元组的星号相结合

有没有办法使用 python opencv 计算与图像的白色距离

如何使用 regex sub 根据列表中的变量替换字符

如何将虚拟变量列转换为多列?

Pandas数据单调行为

如何将具有多个参数的函数传递给 python concurrent.futures.ProcessPoolExecutor.map()?

在气流中运行 DAG 时出现处理信号:ttou消息

有没有更好的方法来判断一个数字是否是两个数字的范围

在计算之前删除包含某些值的组合

Asyncio RuntimeError:事件循环已关闭