python-appveyor-demo, 使用 appveyor.com 构建 python 轮子的演示项目

分享于 

4分钟阅读

GitHub

  繁體 雙語
Demo project for building Python wheels with appveyor.com
  • 源代码名称:python-appveyor-demo
  • 源代码网址:http://www.github.com/ogrisel/python-appveyor-demo
  • python-appveyor-demo源代码文档
  • python-appveyor-demo源代码下载
  • Git URL:
    git://www.github.com/ogrisel/python-appveyor-demo.git
    Git Clone代码到本地:
    git clone http://www.github.com/ogrisel/python-appveyor-demo
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/ogrisel/python-appveyor-demo
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    python-appveyor-demo

    使用 http://appveyor.com 创建 Windows python 轮的演示项目。 它支持在 32和 64位体系结构上同时支持 python 2和 3。

    AppVeyor是一个类似 travis-ci.org的持续集成 平台,但对于 Windows 平台来说。 AppVeyor对于开源项目是免费的,并且在微软Azure云基础设施上运行。

    这个示例 python 项目有一个简单的C 编译扩展( 静态生成的Cython源文件在这种情况下)。 生成本身在 setup.py 文件中进行配置。

    这个项目旨在记录一个简单而有效的示例,以帮助其他 python 项目维护人员。

    使用AppVeyor的持续集成 安装程序

    这个 repo的appveyor.yml 文件为 32位和 64位 python 编译的扩展配置了一个 Windows 构建环境。 这里演示项目被配置为在以下位置触发生成作业:

    http://ci.appveyor.com/project/ogrisel/python-appveyor-demo

    特别是:

    • appveyor/install.ps1 脚本下载并安装 python 和 and,以获取在 dev-requirements.txt 文件中注册的项目的所有开发依赖项。

    • appveyor/run_in_env.cmd 脚本配置 环境变量,以激活与 python 版本和架构匹配的Windows SDK的MSVC++编译器。

    dist/ 文件夹( 通常托管生成的.whl 包)的内容将在生成报告( 查看上一个链接) 中存档。

    注意 Note: 激活选项以自动取消中间推事件以避免使用无用的作业阻塞构建队列。 然而,它可能会有问题,因为它可以取消由直接推送到任何公关外的构建。 而这个 repo的appveyor.yml 文件使用一个特定的powershell代码片段,如果一个新的构建在同一个。

    从源代码构建和测试本地的

    下面是手动复制生成步骤的说明。

    安装开发人员依赖项( 此时只有鼻子和车轮):

    
    pip install -r dev-requirements.txt
    
    
    
    

    然后,可以使用以下方法生成:

    
    python setup.py sdist bdist_wheel
    
    
    
    

    生成的源代码包和平台特定的.whl 包可以在 dist 子文件夹中找到。

    安装 .whl 软件包,包括:

    
    pip install dist/python_appveyor_demo-1.0-*.whl
    
    
    
    

    最后运行测试( 来自源树的任何文件夹):

    
    nosetests -v pyappveyordemo
    
    
    
    

    在 Windows 下,需要一个 Windows SDK来使用MSVC++编译器构建编译后的扩展。 有关详细信息,请参见以下内容:

    https://github.com/cython/cython/wiki/CythonExtensionsOnWindows

    Credits

    感谢 Feodor Fitsner ( @FeodorFitsner ) 从AppVeyor获得快速支持,并安装旧版本的Windows SDK需要构建 python 项目。

    感谢微软的Thomas Conté ( @tomconte ) 在编写脚本 Windows sdk和 MSVC 构建环境方面的帮助。


    COM  proj  构建  DEMO  Building  Wheel  
    相关文章