Python从并行目录导入模块

扎克

我将如何组织我的python导入,以便可以有一个像这样的目录。

project
|      \
|      __init__.py
|     
src
|   \
|    __init__.py
|    classes.py
|
test
    \
     __init__.py
     tests.py

然后在/project/test/tests.py中能够导入classes.py

我在tests.py中有看起来像这样的代码

from .. src.classes import(
    scheduler
    db
)

并且越来越错误

SystemError: Parent module '' not loaded, cannot perform relative import

有人知道该怎么办吗?

彼得·吉布森

Python将包含启动脚本的文件夹添加到PYTHONPATH,因此如果您运行

python test/tests.py

仅将文件夹test添加到路径(而不是在其中执行命令的基本目录)。

而是像这样运行测试:

python -m test.tests

这会将基本目录添加到python路径,然后可以通过非相对导入来访问类:

from src.classes import etc

如果您确实要使用相对导入样式,则需要将3个目录添加到包目录中

package
* __init__.py
* project
* src
* test

然后从包目录上方执行

python -m package.test.tests

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从多个并行子目录导入模块(Python)

来自分类Dev

使用python 2.7从并行目录导入

来自分类Dev

从目录中以python导入用户定义的模块

来自分类Dev

Python模块导入问题子目录

来自分类Dev

从目录中以python导入用户定义的模块

来自分类Dev

在目录之间导入模块

来自分类Dev

从当前工作目录相对导入python模块

来自分类Dev

如何从这样设置的python目录中导入模块?

来自分类Dev

从 PyCharm 的根目录导入 python 模块时遇到问题

来自分类Dev

从上述目录导入模块 - Python2

来自分类Dev

Python 从附近的目录而不是从站点包导入模块

来自分类Dev

从父子目录导入python模块

来自分类Dev

并行目录遍历python

来自分类Dev

并行目录遍历python

来自分类Dev

从父目录导入XQuery模块

来自分类Dev

带有“当前目录”导入的导入模块

来自分类Dev

带有“当前目录”导入的导入模块

来自分类Dev

对如何从模块中的其他目录/父目录导入感到困惑(Python 3)

来自分类Dev

python:如何导入模块

来自分类Dev

从python删除导入的模块

来自分类Dev

Decorator的Python导入模块

来自分类Dev

导入python模块失败

来自分类Dev

Python:导入android模块

来自分类Dev

Python从模块变量导入

来自分类Dev

用Python导入模块

来自分类Dev

python无法导入模块

来自分类Dev

导入自己的Python模块

来自分类Dev

Python:导入多个模块AS

来自分类Dev

动态导入python模块