自定义Python模块直接导入失效,如何恢复无需前缀的导入方式?
解决Python模块无需前缀直接导入的问题
修改
__init__.py暴露模块:
打开空的__init__.py,添加以下代码:from .AliasColourFunctions import * from .AliasGeneralFunctions import * from .AliasSillyBillyFunctions import * from .AliasTkFunctions import *完成后安装模块,就能直接用
import AliasColourFunctions或from AliasColourFunctions import xxx的方式导入,无需加模块名前缀。检查setup.py配置:
确保setup.py里的packages参数正确识别模块,示例配置如下:from setuptools import setup, find_packages setup( name="AliasNewPythonModules", version="0.1", packages=find_packages(), # 其他配置如作者、描述按需添加 )find_packages()会自动将包含__init__.py的目录识别为模块。本地调试临时方案:
如果只是本地跑脚本不想修改配置,可在脚本开头添加代码,将模块所在目录加入Python路径:import sys from pathlib import Path # 将当前脚本所在目录添加到路径(假设模块文件与脚本同目录) sys.path.append(str(Path(__file__).parent))该方法仅适合本地测试,正式发布建议使用前两种规范方案。
内容的提问来源于stack exchange,提问作者AliaNormality
相关产品推荐
相关产品推荐

