您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

ImportError:未命名模块

ImportError:未命名模块

您的包裹结构还可以。您的导入声明很好。唯一缺少的是该软件包在中是可见的sys.path,该位置是可以解析import语句的位置列表。

通常,我们通过在本地“安装”软件包来执行此操作,该软件包会将pip您的代码复制到站点软件包?中。该目录是中的条目之一sys.path,因此,当您将代码安装在站点程序包中时,现在可以照常解析import语句。

但是,要安装代码,您需要为该软件包定义一个安装程序(setup.py脚本)或构建系统(pyproject.toml文件)。您的项目似乎没有任何安装程序或构建系统,因此您需要创建一个安装程序或构建系统(有关详细信息,请参阅《Python打包用户指南》),然后使用来安装软件包pip。如果您现在还不想学习Python封装,则需要找到另一种方法

可以sys.path直接在中进行修改main.py,这随后使语句import ankur.ankur1.util得以解析。这很骇人,我建议不要这样做。它将增加限制,即执行main.py是包其余部分的唯一入口点,因此任何其他想要的代码import ankur将首先需要知道main.py文件系统上的路径。那是一个凌乱的方法,应该避免。

解决该问题的另一种方法是使用环境- 有一个环境变量PYTHONPATH,可用于增加模块文件搜索路径。在您的外壳中:

export PYTHONPATH=/path/to/parent

其中parent是包含ankur子目录的目录。

? 网站软件包的确切位置取决于您的OS /平台,但是您可以通过import sysconfig; sysconfig.get_paths()["purelib"]

其他 2022/1/1 18:44:45 有231人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶