尝试运行已编译的 Cython 代码时出现“python39.dll not found”错误 [重复]
Posted
技术标签:
【中文标题】尝试运行已编译的 Cython 代码时出现“python39.dll not found”错误 [重复]【英文标题】:“python39.dll not found” error when trying to run compiled Cython code [duplicate] 【发布时间】:2021-06-15 15:55:40 【问题描述】:版主: this 问题对我没有帮助,所以请不要将此标记为重复,谢谢:)
我终于将 cython c 代码编译成可执行文件,没有任何错误,但我无法在没有安装 python 的任何机器上运行它。
为了生成和编译代码,我使用了cython 和gcc compiler。 我的操作系统是 windows 10
另外,我需要制作一个可移植的 exe,而不是安装程序或自解压存档。
我不确定我是否提供了足够的信息,如果您需要知道任何事情,请在 cmets 中问我:P
我找不到任何可以解决这个问题的方法,所以我非常感谢任何帮助:)
为了创建 Cython C 代码,我使用了这个命令:
cython -3 --embed main.py
为了编译生成的代码,我使用了这个命令:
gcc main.c --static -I "C:\Program Files\Python39\include" -L "C:\Program Files\Python39\libs" -lpython39 -municode -o main.exe
这是我收到的错误消息(在没有 python 的机器上):
谢谢:)
【问题讨论】:
“版主:这个问题对我没有帮助,所以请不要将此标记为重复,谢谢:)”。只是让您知道版主不是唯一将问题标记为重复的人:)。 哦,好的,谢谢你告诉我:) 我认为答案可能是“Cython 并不是真正的工具,请改用 PyInstaller 或类似工具” 你不应该删除旧的(***.com/q/67987279/5769463),而是编辑它并解释为什么它不是重复的。 “这对我没有帮助”不是解释。显然你至少需要分发 libpython-dll。完成后,您将看到重复的所有其他内容也是必需的。 如果你想静态链接到 libpython,你也不应该这样做:***.com/q/62492622/5769463 【参考方案1】:也许您需要将它添加到您的环境变量中?
【讨论】:
我可能忘了澄清它只在安装了 python 的机器上运行(或与 exe 在同一文件夹中的 python39.dll),我的目标是制作一个可移植的 exe,所以我不必须安装 python 才能运行它。所以这不是问题所在。无论如何谢谢:)以上是关于尝试运行已编译的 Cython 代码时出现“python39.dll not found”错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章