【问题标题】:Install wxPython 2.8 (For Ride) on OSX "El Capitan"在 OSX "El Capitan" 上安装 wxPython 2.8 (For Ride)
【发布时间】:2016-01-13 02:32:57
【问题描述】:

我正在尝试安装 wxPython 2.8 unicode 版本,以便能够使用robotframework-ride。

到目前为止,从该站点下载的安装程序失败并显示“没有要安装的软件”的错误

而且使用 Brew 安装的是 3.0 版本,与 Ride 不兼容。

我希望能在这个问题上得到一些帮助,我是一名新的 Mac 用户(刚刚在办公室得到了一个,并且必须将它用于我的项目),这是迄今为止我唯一没有的东西'根本无法解决。

我需要安装的版本是:wxPython2.8-osx-unicode-2.8.12.1-universal-py2.7

安装程序似乎根本不适用于此版本的 OSX。

谢谢你。

【问题讨论】:

    标签: macos wxpython robotframework osx-elcapitan


    【解决方案1】:

    我遇到了同样的错误:

    $ sudo installer -pkg /Volumes/wxPython2.9-osx-2.9.5.0-cocoa-py2.7/wxPython2.9-osx-cocoa-py2.7.pkg/ -target /
    installer: Package name is wxPython2.9-osx-cocoa-py2.7
    installer: Installing at base path /
    2015-10-19 11:27:48.417 installer[875:22541] Package /Volumes/wxPython2.9-osx-2.9.5.0-cocoa-py2.7/wxPython2.9-osx-cocoa-py2.7.pkg uses a deprecated pre-10.2 format (or uses a newer format but is invalid).
    installer: The install failed (The Installer could not install the software because there was no software found to install.)
    

    您可能知道,在 OS X 上,RIDE supports both wxPython 2.8 and 2.9,这就是我在这里使用 v2.9 的原因:

    try:
        import wxversion
        from wxversion import VersionError
        if sys.platform == 'darwin': # CAN NOT IMPORT IS_MAC AS THERE IS A wx IMPORT
            wxversion.select(['2.8', '2.9'])
        else:
            wxversion.select('2.8')
    except ImportError:
        print "wxPython not found."
    

    虽然wxmac formula可以用来安装wxPython 2.9.5.0,但是在OS X 10.11 El Capitan上,在构建wxWidgets的时候会遇到#16329报的如下错误。

    所以,我们必须从(修改的)源代码构建它:

    1. 安装 Xcode 和 download wxPython-src-2.9.5.0.tar.bz2

    2. 解压压缩包并将#include <WebKit/WebKit.h>(在src/osx/webview_webkit.mm中)替换为#include <WebKit/WebKitLegacy.h>

    然后按照wxmac公式中描述的说明构建和安装wxPython:

    $ cd wxPython-src-2.9.5.0
    $ PREFIX=/usr/local
    $ ./configure --prefix=$PREFIX --enable-shared --enable-monolithic --enable-unicode --enable-std_string --enable-display --with-opengl --with-osx_cocoa --with-libjpeg --with-libtiff --with-libpng --with-zlib --enable-dnd --enable-clipboard --enable-webkit --enable-svg --with-expat --with-macosx-version-min=10.11 --enable-universal_binary=i386,x86_64 --disable-precomp-headers
    $ sudo make install
    
    $ cd wxPython
    $ sudo python setup.py build_ext WXPORT=osx_cocoa WX_CONFIG=$PREFIX/bin/wx-config UNICODE=1 INSTALL_MULTIVERSION=1 BUILD_GLCANVAS=1 BUILD_GIZMOS=1 BUILD_STC=1
    
    $ sudo python setup.py install WXPORT=osx_cocoa WX_CONFIG=$PREFIX/bin/wx-config UNICODE=1 INSTALL_MULTIVERSION=1 BUILD_GLCANVAS=1 BUILD_GIZMOS=1 BUILD_STC=1
    

    验证安装:

    $ python
    >>> import wx
    >>>
    

    请注意,这是 64 位设置,您不必在 32 位模式下运行 RIDE。

    【讨论】:

    • 如果我再打扰你一次,它工作正常,直到 sudo make install,一旦完成,我尝试了 2 个“sudo python setup.py....”命令,都结束了退出代码为 1 “错误命令 '-fno-strict-aliasing': 没有这样的文件或目录”
    • 感谢您的指导,我可以运行ride.py 并运行我的测试用例:),但是第二次ride.py 崩溃了,我必须删除文件夹~/.robotframework 并再次运行ride.py .之后,我将 robotsframework-ride 更新为 1.5a2,并且不需要删除该文件夹即可继续我的工作。
    【解决方案2】:

    实际上 wxPython 3.0 可以与 RIDE 一起使用。这是我的点子列表:

    decorator (4.0.6)
    docutils (0.12)
    ecdsa (0.13)
    Flask (0.10.1)
    gunicorn (19.0.0)
    itsdangerous (0.24)
    Jinja2 (2.7.3)
    MarkupSafe (0.23)
    paramiko (1.16.0)
    pip (7.1.2)
    pycrypto (2.6.1)
    robotframework (3.0)
    robotframework-databaselibrary (0.6)
    robotframework-rammbock (0.4.0.1)
    robotframework-requests (0.4.0)
    robotframework-ride (1.5.1)
    robotframework-selenium2library (1.7.4)
    robotframework-sshlibrary (2.1.2)
    selenium (2.48.0)
    setuptools (18.7.1)
    vboxapi (1.0)
    Werkzeug (0.9.6)
    wheel (0.26.0)
    wxPython (3.0.2.0)
    wxPython-common (3.0.2.0)
    

    Pip 找不到要安装的 wxPython。改用自制软件:

    $homebrew install wxPython (will install 3.0.2.0)
    $pip install robotframework (will install 3.0)
    $pip install robotframework-ride (will install 1.5.1)
    

    允许 3.0 检查 '~/homebrew/lib/python2.7/site-packages/robotide/__init__.py':

    if sys.platform == 'darwin':
        supported_versions.append("2.9")
        supported_versions.append("3.0")
    

    在启动ride.py 之前删除~/.robotframework 以避免加载最后打开的文件夹时RIDE 崩溃。制作一个简短的 shell 脚本 ~/homebrew/bin/ride:

    #!/bin/sh
    rm -rf ~/.robotframework
    ~/homebrew/bin/ride.py
    

    和 chmod +x ~/homebrew/bin/ride. 从 shell 输入“ride”,一切都应该运行良好——每次都重新打开你的测试套件。

    【讨论】:

      猜你喜欢
      • 2017-01-14
      • 2016-02-02
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 2016-03-11
      相关资源
      最近更新 更多