You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spyder中导入并运行已通过setuptools打包的自定义Python包?

解决Spyder中运行自定义打包Python包的问题

问题原因

你在终端用python Simulation_Package能正常运行,是因为Python会自动执行包内的__main__.py文件;但直接调用Simulation_Package.main()触发AttributeError,是因为main函数属于__main__.py模块,并非包的顶层可访问属性。

可行解决方案

方案1:修改包的__init__.py文件

在Simulation_Package目录下的__init__.py中添加一行代码,把__main__.py里的main函数导入到包的命名空间:

from .__main__ import main

修改后如果是非开发模式安装的包,需要重新执行pip install .更新安装;开发模式下无需额外操作。之后在Spyder中导入包就能直接调用Simulation_Package.main()。

方案2:直接导入__main__模块调用

无需修改包结构,在Spyder的代码中直接导入包的__main__模块再调用函数:

from Simulation_Package import __main__ as sim_main
sim_main.main()

方案3:模拟终端运行方式

用subprocess模块在Spyder中模拟终端的运行命令,效果和终端执行python Simulation_Package完全一致:

import subprocess
subprocess.run(["python", "-m", "Simulation_Package"], check=True)

内容的提问来源于stack exchange,提问作者Seji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:53:17