首页 > 解决方案 > 在 Pyinstaller 中使用 Cython

问题描述

我正在尝试使用 Cython 和 PyInstaller 在 python 中构建一个程序。在开始之前,我构建了这个测试程序。但是,这两个模块根本不能一起工作。我已经分别尝试过它们,它们都有效。我看了这个问题,但这不起作用。

我还尝试使用 cython 将其编译为 c,然后使用 gcc,但这也不起作用(我添加了 python.h 文件,并且 gcc 在抱怨关键字不存在后中止)

#hello.pyx 
import pygame
def say_hello_to(name):
    print("Hello %s!" % name)
#hello.py
from hello import say_hello_to
say_hello_to('Me')
#setup.py
from setuptools import setup
from Cython.Build import cythonize

setup(
     name='Hello world app',
     ext_modules=cythonize("hello.pyx"),
     zip_safe=False,
)

所有这些都适用于 CPython,其中:

python3 setup.py build_ext --inplace

然后

python3 hello.py

但是PyInstaller一直抱怨找不到模块你好。我尝试了添加数据和添加二进制文件,以及编辑规范文件,但它仍然不起作用,说:

invalid add_data_or_binary value: 'home:Achyut-BK:hello.cpython-38-x86_64-linux-gnu.so'

标签: cpython-3.xcythonpyinstaller

解决方案


推荐阅读