2017-03-29 42 views
1

我想在Appveyor上使用PyInstaller为我的Kivy应用程序构建可执行文件。我有建立自己的电脑上工作,但在Appveyor打造我得到以下信息:Kavy PyInstaller on Appveyor

OpenGL version detected: 1.1 
Version: b'1.1.0' 
Vendor: b'Microsoft Corporation' 
Renderer: b'GDI Generic' 
Try upgrading your graphics drivers and/or your graphics hardware in case of problems. 
The application will leave now. 

我使用在https://kivy.org/docs/guide/packaging-windows.html描述默认PyInstaller配置。

的appveyor.yml如下:

image: Visual Studio 2015 

environment: 
    matrix: 
    - PYTHON: "C:\\Python34" 
     PYTHON_VERSION: "3.4.x" # currently 3.4.3 
     PYTHON_ARCH: "32" 

    - PYTHON: "C:\\Python34-x64" 
     PYTHON_VERSION: "3.4.x" # currently 3.4.3 
     PYTHON_ARCH: "64" 

install: 
    # Install Python (from the official .msi of http://python.org) and pip when 
    # not already installed. 
    - ps: if (-not(Test-Path($env:PYTHON))) { & appveyor\install.ps1 } 

    - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" 

    # Check that we have the expected version and architecture for Python 
    - "python --version" 
    - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" 

    - "pip install --disable-pip-version-check --user --upgrade pip" 

    # Kivy and pyinstaller included 
    - "%CMD_IN_ENV% pip install -r requirements.txt" 

    # Saw somewhere on the internet, doesn't work with it nor without it. 
    - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-desktop.ps1')) 



build_script: 
    - "%CMD_IN_ENV% python -m PyInstaller myapp.spec" 


artifacts: 
    - path: dist\* 

据我看到它,它可以去两种方式: *某种程度上防止kivy pyinstaller钩从使用OpenGL *配置Appveyor使用OpenGL

感谢您的所有建议!

+0

它实际上运行得很漂亮。我切换到'python35','Kivy 1.9.2-dev0'和'kivy.deps.angle'。 OpenGL 2.0得到了认可,并且构建完成。谢谢。 – Luka

+0

作为回答发布^^ – KeyWeeUsr

回答

2

正如@ilyaf说,但有一点可以帮助你 - 尝试安装kivy.deps.angle和打包与此+使您的应用程序use the angle。我不太确定它是否会有所帮助,因为没有GPU,但angle将OpenGL调用转换为Appveyor似乎拥有的DirectX。这是值得尝试的,尽管我恐怕即使是angle也不行。

0

我怕是构建在Hyper-V虚拟机发生不具备物理GPU是不可能的......

+0

谢谢,那是我的想法... – Luka