首页 > 解决方案 > python脚本和相对导入问题

问题描述

我从 Python 开始,我尝试在几个月前在不同的测试环境(都是 ubuntu)中运行一个对我有用的简单应用程序,但是我收到一个错误,我在 google/stackoverflow 上找不到可理解的解决方案。

[root@ubuntu:/usr/local/lib/python3.5/dist-packages/appname# python3 script.py
Traceback (most recent call last):
  File "script.py", line 2, in <module>
    from appname import AppName
  File "/usr/local/lib/python3.5/dist-packages/appname/appname.py", line 20, in <module>
    from . import __version__
SystemError: Parent module '' not loaded, cannot perform relative import

我在init .py 中定义了版本变量,但它没有被导入。当我在 appname.py 中评论 (#) 这个导入/变量时,我收到另一个导入错误,其中包含来自同一文件夹和 appname.py 中的文件的相对路径,例如

from .test import anyfunction

其中 test.py 与 appname.py 位于同一文件夹中

你知道为什么这个带有相对路径的导入不起作用吗?

谢谢你,如果这是个愚蠢的问题,我很抱歉。

标签: python

解决方案


我通过在 VENV 中运行“应用程序”并将 SETUPTOOLS 升级到最新版本找到了解决方案。看起来应用程序内的模块只是冲突。


推荐阅读