/usr/local/bin目录下的相对路径

2024-09-30 00:34:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将我的“可执行”python文件放在/usr/local/bin/目录中,这样我就可以在bash的任何地方调用该程序(superloop)。你知道吗

但是,其余的应用程序存储在另一个目录/root/superloop/

我在/root/superloop中有init.py文件,在/usr/local/bin/下的文件superloop中有我的相对导入路径是:

from ...root.superloop.auditdiff import auditdiff

执行时会抛出一个错误:

Traceback (most recent call last):
  File "/usr/local/bin/superloop", line 3, in <module>
    from ...root.superloop.auditdiff import auditdiff
ValueError: Attempted relative import in non-package

这是树:

|-- \\
|-- auditdiff.py
|-- __init__.py
|-- multithread.py

Tags: 文件infrompyimport目录bashbin
1条回答
网友
1楼 · 发布于 2024-09-30 00:34:34

错误告诉您,包与目录不同;您不能使用相对导入来导航磁盘结构。你知道吗

为了让您的“可执行文件”在/root/superloop中找到包,您可以操纵^{}让Python知道在哪里查找包:

sys.path.append('/root/superloop')
from auditdiff import auditdiff

相关问题 更多 >

    热门问题