代码之家  ›  专栏  ›  技术社区  ›  BlueSheepToken

为Linux和Windows用户发布Cython源

  •  0
  • BlueSheepToken  · 技术社区  · 6 年前

    我想在pypi上发布我的cython lib。

    我想通过编译64位体系结构和32位体系结构的源代码来简化Window用户的生活。

    到目前为止,我的设置如下:

    from distutils.core import setup
    from distutils.extension import Extension
    from Cython.Build import cythonize
    
    module = Extension('*', ['package/*.pyx'])
    
    setup(ext_modules=cythonize(module))
    

    当我做 python setup.py sdist 我能做到 pip install path/to/tarball ,编译源代码。

    我的问题是,如果我使用Windows虚拟机进行编译,如何发布项目,以便Unix用户可以自己编译源,而Windows用户不编译源,而是获取 .pyd 安装在他们的python路径中?

    1 回复  |  直到 6 年前
        1
  •  1
  •   phd    6 年前

    对于Unix用户,创建一个 sdist :

    python setup.py sdist
    

    对于W32/W64,用户创建二进制车轮:

    python setup.py bdist_wheel
    

    车轮必须在将要安装的平台上创建; setuptools 无法进行跨平台编译。因此,对于W32/W64,必须运行32位和64位的窗口,并使用相应的 compilers ,python版本(二进制车轮依赖于版本)和相应的头文件。

    推荐文章