Mar*_*510 8 python macos wxpython
当我尝试安装wxPython时,它显示一个错误:
Run Code Online (Sandbox Code Playgroud)> The Installer could not install the software because there was no > software found to install.
我该如何解决?
mem*_*lyk 21
wxPython正在使用遗留脚本,根据此技术说明, 捆绑安装程序已弃用,并且(从El Capitan版本开始)不受支持:
捆绑式安装程序包是不再受支持的旧式转换辅助工具.PackageMaker也不再受支持.现在需要使用productbuild等工具转换为平面文件安装程序包.
这给你留下两个选择,
要实现前者,请按照以下说明操作:
0)假设您已经安装了,dmg并且已将pkg文件夹移动到工作位置.
cd ~/repack_wxpython
cp -r /Volumes/wxPython/wxPython-ABC.pkg .
Run Code Online (Sandbox Code Playgroud)
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 ..
Run Code Online (Sandbox Code Playgroud)
2)将脚本preflight/ postflight脚本重命名为脚本文件夹中平面包所需的preinstall/ postinstallscripts.
mkdir scripts
cp wxPython-ABC.pkg/Contents/Resources/preflight scripts/preinstall
cp wxPython-ABC.pkg/Contents/Resources/postflight scripts/postinstall
Run Code Online (Sandbox Code Playgroud)
3)使用该pkgbuild工具创建扁平包装:
pkgbuild --root ./pkg_root --scripts ./scripts --identifier com.wxwidgets.wxpython wxPython-ABC.pkg
Run Code Online (Sandbox Code Playgroud)
注意事项:原束包装体包含License.rtf和Welcome.txt不包含在扁平封装文件.需要通过定义自定义XML文件并使用该productbuild命令创建另一个包来添加这些内容.
小智 5
用于Mac的wxpython的工作安装程序似乎在预发布中可用:
https://groups.google.com/forum/#!topic/wxpython-dev/TMnoeAgf2Wg
这似乎对我有用.为El Capitan工作.
以下是我成功安装 wxPython“Classic”(不是“Phoenix”)的步骤。
OSX 10.11 或更高版本无法运行您尝试的安装程序,但此方法可行。
cd /pathToYourGitHubSources/wxPython并运行以下命令:python build-wxpython.py --build_dir=../bld --osx_cocoa --installinstalled_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 从终端命令行设置环境并测试 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()
Run Code Online (Sandbox Code Playgroud)如果打印了 wx 版本,则说明它正在工作。
有些系统安装了其他版本的 wxPython 或旧 wxPython 的痕迹,这导致我需要设置如上所示的环境,直到旧的部分从系统中清除。