Python pypi封装结构的Cython
我正在努力理解关于编译的Cython文档 cython似乎更喜欢Python pypi封装结构的Cython,python,cython,cythonize,Python,Cython,Cythonize,我正在努力理解关于编译的Cython文档 cython似乎更喜欢distutils而不是setuptools 因此,我有一个结构类似于的python包 e、 g 以及默认的setup.py文件: import setuptools from package import name, version, description with open("README.md", "r") as fh: long_description = fh.read() setuptools.setup
distutils
而不是setuptools
因此,我有一个结构类似于的python包
e、 g
以及默认的setup.py
文件:
import setuptools
from package import name, version, description
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name=name,
version=version,
description=description,
long_description=long_description,
long_description_content_type="text/markdown",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3.5",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
)
我现在也在处理一个cython\u setup.py
文件来构建一个编译版本
如果我想cythonize
这个包中的所有内容,我会怎么做
我尝试将所有内容导入\uuuu init\uuuu.pyx
,并且:
from distutils.core import setup
from Cython.Build import cythonize
setup(name='package', ext_modules=cythonize("package/__init__.pyx"))
但这实际上并不影响导入的代码…我不明白你的问题:你没有cython模块,为什么你的安装文件中需要cython?也许简单的pyx文件会是一个更好的起点?您应该使用特定的cython文档:而不是distutils'@ead虽然有通过“cdef”类型改进cython编译的方法,但即使使用本机python,编译也可以提高性能。所以我只想知道一个人是如何天真地将一个软件包简单化的。@ead正是我不理解的那个文档导致我问这个问题question@SumNeuron将一个完整的包转换成一个.so Cython文件是相当复杂的(所以不要一开始就这么做!)。您可能也不想通过Cython运行
\uuuu init\uuuuu.py
文件(它们通常不包含“真实”代码,因此对您没有好处)。相反,您应该将所有的子模块1a.py
等分别放到Cython中
from distutils.core import setup
from Cython.Build import cythonize
setup(name='package', ext_modules=cythonize("package/__init__.pyx"))