2015-12-21 92 views
7

當我嘗試安裝wxPython的安裝wxPython中,它顯示了一個錯誤:在OSX 10.11

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

我怎樣才能解決呢?

+0

你下載了哪個版本?我沒有任何安裝wxPython3.0-osx-cocoa-py2.7的問題 –

+0

我也使用wxPython3.0-osx-cocoa-py2.7。 :( – Markup2510

+0

我從http://sourceforge.net/projects/wxpython/files/wxPython/3.0.2.0/ – Markup2510

回答

3

以下是我成功用於安裝wxPython'Classic'(而不是'Phoenix')的步驟。
OSX 10.11或更新版本無法運行您嘗試的安裝程序,但此方法可行。

  1. 拉這兩個最新的來源分爲兩個兄弟目錄:
    https://github.com/wxWidgets/wxPython.git
    https://github.com/wxWidgets/wxWidgets.git
  2. 更改目錄cd /pathToYourGitHubSources/wxPython並運行(從2015年12月16日之前,將不會對這種方法會奏效源)以下命令:
    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() 
    

如果WX版印刷,它的工作。
某些系統有其他版本的wxPython或安裝舊wxPythons的痕跡,導致我需要設置上述環境,直到舊件從系統中清除。

20

wxPython中使用legacy script,並根據此technical note捆綁安裝已過時,是(作爲埃爾卡皮坦釋放)不支持:

Bundle-style installer packages are a legacy transition aid that is no longer supported. PackageMaker is also no longer supported. It is now necessary to convert to flat-file installer packages using tools like productbuild.

這使得你有兩個選擇,

  1. 將安裝程序轉換爲扁平包裝。
  2. 編譯wxWidgets並在本地安裝。

爲了實現前,請按照以下說明:

)讓我們假設你已經安裝了dmg,你已經移動pkg文件夾到一個工作場所

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

)使用pax實用程序從Contents/Resources有效載荷文件(pax.gz)解壓到一個文件夾中,這將成爲你的新包的根。

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

)重命名bundle的preflight/postflight腳本,以preinstall/postinstall腳本,作爲所需的扁平封裝,在一個腳本文件夾。

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

)使用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命令創建另一個包來添加這些文件。

+3

您好,先生是一位紳士和學者 – trudesign

+1

Thumb!這適用於Mac OS 10.12 Sierra !!! – ying17zi

0

我發佈了一個關於從源代碼構建的答案,@memoselyk發佈了一個有用的答案,就如何將程序包轉換爲安裝在較新的OSX上。 但是,我發現簡單的解決方案是使用Brew package manager
以下是我使用的步驟。

  • 與該單個命令安裝釀酒:
    • ruby -e "$(curl -fsSL \ https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安裝WX; (依賴也將安裝)
    • brew install wxpython --framework

測試錯誤: python -c 'import wx'

Done, but the following may also be relevant.

  • 我跑到下面的命令幾次清理掉舊的安裝和確保我能夠導入正確的wx:
    • sudo pip uninstall wxPython
    • sudo pip uninstall wxPython-Phoenix
  • 我去掉添加得到一些以前安裝的工作系統環境變量。brew link --overwrite wxmac
    - - brew doctor wxPython(和
    • unset PYTHONPATH
    • unset DYLD_LIBRARY_PATH
    • unset DYLD_FRAMEWORK_PATH

安裝WX您可能需要運行下面的,如果它是一個骯髒的安裝後如果檢測到某物,請遵循非常有用的指示)

如果你想訪問其他版本,這不是你的方法,但對於3.0.2.0'經典'版本,我認爲這是要走的路。
brew upgrade wxPython會碰到一個更新的版本,如果有的話。

1

這個工作對我來說(16年11月10日):

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

How to properly install wxPython?

0

對於我來說工作只是通過使用BREW:

brew install wxpython 

我很驚訝,沒有人公佈相同的答案!

PS:我在埃爾卡皮坦10.11.3

1

找到針對此問題的解決方案:

錯誤:

mac01:工具ganeshr $ ride.py

錯誤的wxPython版本。 您需要安裝帶有unicode支持的wxPython 2.8.12.1才能運行RIDE。 wxPython的2.8.12.1可以下載

解決方案: - 添加supported_versions.append( 「3.0」)在robotide支持/ __ init__.py

檢查wxPython的已安裝:

$ PIP列表

的wxPython(3.0.2.0) wxPython中常見(3.0.2.0)

$ sudo的VIM /Library/Python/2.7 /站點包/ robotide/__ init__。PY

嘗試: 進口wxversion

從wxversion進口VersionError

如果sys.platform == '達爾文':

supported_versions.append( 「2.9」)

supported_versions.append(「3.0」)#添加此行,RIDE將支持wxPython(3.0.2.0)

wxversion.select(supported_versions) import wx

謝謝。

+0

感謝您對此這在機器人框架和RIDE環境中非常有意義 – user2930999