在osx 10.11中安装wxPython

时间:2015-12-21 18:42:24

标签: python macos wxpython

当我尝试安装wxPython时,它显示错误:

> The Installer could not install the software because there was no
> software found to install.

我该如何解决?

7 个答案:

答案 0 :(得分:21)

wxPython正在使用legacy script,并且根据此technical note 捆绑安装程序已被弃用且(从El Capitan版本开始)不受支持:

  

捆绑式安装程序包是不再受支持的旧式转换辅助工具。 PackageMaker也不再受支持。现在需要使用productbuild等工具转换为平面文件安装程序包。

这给你留下了两个选择,

  1. 将安装程序转换为扁平包。
  2. 编译wxWidgets并在本地安装。
  3. 要实现前者,请按照以下说明操作:

    0 )假设您已经安装了dmg,并且已将pkg文件夹移至工作地点

    cd ~/repack_wxpython
    cp -r /Volumes/wxPython/wxPython-ABC.pkg .
    

    1 )使用pax实用程序将有效内容文件(pax.gz)从Contents/Resources提取到将成为新软件包根目录的文件夹。

    mkdir pkg_root
    cd pkg_root
    pax -f ../wxPython-ABC.pkg/Contents/Resources/wxPython-ABC.pax.gz -z -r
    cd ..
    

    2 )将套装的preflight / postflight脚本重命名为preinstall / postinstall脚本,根据扁平包的要求,在脚本文件夹。

    mkdir scripts
    cp wxPython-ABC.pkg/Contents/Resources/preflight scripts/preinstall
    cp wxPython-ABC.pkg/Contents/Resources/postflight scripts/postinstall
    

    3 )使用pkgbuild工具创建扁平包:

    pkgbuild --root ./pkg_root --scripts ./scripts --identifier com.wxwidgets.wxpython wxPython-ABC.pkg
    

    如果您想自定义传递的参数,这是documentation of the pkbuild command

    警告:原始捆绑包中包含License.rtfWelcome.txt个文件,这些文件未包含在扁平包中。需要通过定义custom XML文件并使用the productbuild命令创建另一个包来添加这些文件。

答案 1 :(得分:5)

Mac的wxpython工作安装程序似乎在预发行版中可用:

https://groups.google.com/forum/#!topic/wxpython-dev/TMnoeAgf2Wg

这似乎对我有用。为El Capitan工作。

答案 2 :(得分:3)

以下是我成功用于安装wxPython'Classic'的步骤(不是'Phoenix') OSX 10.11或更新版本无法运行您尝试过的安装程序,但此方法可以正常运行。

  1. 将这两个最新的来源分成两个兄弟目录:
    https://github.com/wxWidgets/wxPython.git
    https://github.com/wxWidgets/wxWidgets.git
    (2015年12月16日之前的来源不适用于此方法)
  2. 更改目录cd /pathToYourGitHubSources/wxPython并运行以下命令:
    python build-wxpython.py --build_dir=../bld --osx_cocoa --install
  3. 构建和安装需要一段时间。完成后,您可以尝试导入wx,但可能首先需要以下步骤。
  4. 查看新创建的installed_files.txt以查看wxPython*个文件所在的目录,以及/wx/*.py/lib/*.pyc文件的位置。三个目录可能是:
    /usr/lib/python2.7/site-packages
    /usr/lib/python2.7/site-packages/wx
    /usr/lib/python2.7/site-packages/wx/lib
  5. 从终端命令行设置环境和测试wx:

    export PYTHONPATH='/usr/lib/python2.7/site-packages/wx'
    export DYLD_LIBRARY_PATH='/usr/lib/python2.7/site-packages/wx/lib'
    
    python
    
    import sys
    import wxversion
    try:
        wxversion.select(['3.0.3'])
    except wxversion.VersionError:
        print "wx version failed detection"
        sys.path.insert(0, '/usr/lib/python2.7/site-packages')
    
    import wx
    print wx.version()
    
  6. 如果打印了wx版本,它正在工作。
    有些系统安装了其他版本的wxPython或旧的wxPythons版本,这使我需要设置如上所示的环境,直到从系统中清除旧件。

答案 3 :(得分:2)

这对我有用(10.11.16):

   sudo pip install --upgrade --trusted-host wxpython.org --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

How to properly install wxPython?

答案 4 :(得分:1)

找到解决此问题的方法:

错误:

mac01:tools ganeshr $ ride.py

错误的wxPython版本。 您需要安装具有unicode支持的wxPython 2.8.12.1才能运行RIDE。 wxPython 2.8.12.1可以下载

解决方案: - 在robotide / __ init __中添加supported_versions.append(" 3.0")支持._ py

检查wxPython是否已安装:

$ pip list

wxPython(3.0.2.0) wxPython-common(3.0.2.0)

$ sudo vim /Library/Python/2.7/site-packages/robotide / __ init __。py

尝试: import wxversion

来自wxversion导入VersionError

如果sys.platform ==' darwin':

supported_versions.append(" 2.9&#34)

supported_versions.append(" 3.0")#添加此行,RIDE将支持wxPython(3.0.2.0)

wxversion.select(supported_versions) import wx

感谢。

答案 5 :(得分:0)

我发布了一个关于从源代码构建的答案,而@memoselyk发布了一个关于如何将软件包转换为在新OSX上安装的有用答案。 但是,我发现简单的解决方案是使用Brew package manager 以下是我使用的步骤。

  • 使用以下单个命令安装Brew:
    • ruby -e "$(curl -fsSL \ https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安装wx; (也将安装依赖项)
    • brew install wxpython --framework

测试错误: python -c 'import wx'

  

完成,但以下内容也可能相关。

  • 我多次运行以下命令来清除旧安装,并确保我能够导入正确的wx:
    • sudo pip uninstall wxPython
    • sudo pip uninstall wxPython-Phoenix
  • 我删除了添加的系统环境变量,以使之前的安装工作正常。
    • unset PYTHONPATH
    • unset DYLD_LIBRARY_PATH
    • unset DYLD_FRAMEWORK_PATH

安装wx后,如果是脏安装,可能需要运行以下命令:
  - brew link --overwrite wxmac
  - brew doctor wxPython(如果检测到某些内容,请遵循非常有用的指示)

如果您想要访问其他版本,这不适合您,但对于3.0.2.0'Classic'版本,我认为这是可行的方法。
如果有的话,brew upgrade wxPython会发布更新的版本。

答案 6 :(得分:0)

对我来说,只需使用brew就可以了:

brew install wxpython

我很惊讶没有人发布同样的答案!

PS:我在El Capitan,10.11.3