如何通过Python文件运行已编译的Cython脚本?
解决方法
你的问题出在subprocess的使用方式上——两次subprocess.system调用是启动两个完全独立的进程,第二个import main根本不会在第一个Python交互环境里执行,自然没用。下面给你两种可行的方案:
方案1:直接导入模块(最简便)
编译后的Cython模块和普通Python模块用法一致,直接在run.py里写:
import main
之后在PowerShell里执行python run.py就会自动运行main模块里的顶层代码(和你在交互环境里import main的效果完全一样)。
方案2:用subprocess一次性执行命令
如果一定要通过子进程运行,得把import main作为参数传给Python解释器,用-c参数让它直接执行代码,而不是进入交互环境:
import subprocess # 一次性执行py命令并运行import main subprocess.run(['py', '-c', 'import main'], check=True)
这里-c参数的作用是让Python解释器直接执行后面的字符串代码,避免了手动进入交互环境的步骤。
内容的提问来源于stack exchange,提问作者Such Max
相关产品推荐
相关产品推荐

