首页 > 解决方案 > conda env 中的绝对导入

问题描述

我在使用 conda env 时遇到了绝对导入的问题。这是我的项目的结构。

里面有package_1.subpackage_1.run.py绝对进口import package_1.file_1。但是,当我python package_1/subpackage_1/run.pypackage文件夹中运行时,出现错误: ModuleNotFoundError: No module named 'package_1'. 我试图打印sys.path. project.package_1.subpackage_1在 中sys.path,但我运行命令的文件夹project不是。我尝试添加or ,但它project在conda env 中不起作用。有谁知道如何解决这一问题?谢谢!!!PATHPYTHONPATH

标签: pythonconda

解决方案


执行此操作的一种方法是将目录添加到您的目录,sys.path并在run.py

import sys
import os

sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'package_1'))

然后更改 run.py 中的行

import package_1.file_1

import file_1

现在 python 可以直接导入file1,因为它的目录在路径上。


推荐阅读