我正在使用cython
生成*.c
文件,稍后将在MS Visual Studio 2017中编译为C/C++
。除了所有的python*.lib
都是动态链接的之外,所有的工作都非常出色。
由于我的目标是生成一个自包含的exe(大的exe大小不是问题),我想问一下是否可以静态链接所有Python*.lib
。我已经尝试过指定\MT
release选项并在调试器include上定义所有Python库。你知道吗
不幸的是,我所有的努力都是徒劳的,因为动态链接的可执行文件在复制到另一台计算机时找不到python3.dll
。目前,我计划将整个python安装目录与可执行文件一起复制,并在编译时指定适当的include链接。你知道吗
因此,我对任何一个选项都感兴趣,只要它存在,就可以生成一个自包含的可移植可执行文件。你知道吗
我将感谢你的帮助和建议。你知道吗
xaav是正确的。你知道吗
我不能评论,所以相反,我会把这作为一个解决方案,希望它将引导你走上正确的道路。你知道吗
赛顿的存在是有原因的。你得到了你的python代码,添加了一些修改,然后bam,你的代码被cythonised了。你知道吗
这有两个原因。模糊的代码,它可以加快代码(取决于)。你知道吗
为什么不使用cython和pyinstaller?这是经过考验的。Pyinstaller甚至说它支持它。你所采取的方法在理论上是可以做到的,但它过于复杂,甚至不需要。你知道吗
可能的问题:
但是他们不能偷我的源代码吗?不,这是赛特化的,所以是的,但不容易。你知道吗
我不能用Nuitka吗?是的,如果你想它是小车,而不是工作的预期。你知道吗
图书馆怎么办,它们不能在另一台电脑上工作?等级库文件的存在是有原因的。一点手动操作,这可以工作。你知道吗
我不能编译成c++然后使它独立吗?看看有多少未回答的问题和无法让它发挥作用的人。另外,当pyinstaller和cython存在并执行相同的操作时,也不需要它。Cython得到广泛支持。只是感觉你在用漫长而艰难的方式做事。你知道吗
但是编译成c++不是更容易吗。不可能,pyinstaller已经完成了大部分腿部工作。您可能需要调整spec文件,否则这是唯一的方法。请记住,它还集成了pyupdater。你知道吗
相关问题 更多 >
编程相关推荐