wxpython installation instructions说:
请务必下载与Python版本匹配的图像 你想用它。
嗯,哎呀。我有一个python2.7的系统安装,我有自己的python2.7安装。如何告诉wxPython在python2.7中安装而不是系统python2.7?
接下来,我尝试从源代码安装。 wxPython-src-3.0.2.0 / docs / readme.txt中的说明说:
有关安装信息,请参阅中的install.txt文件 docs子目录适用于您使用的平台,例如 文档/ MSW / INSTALL.TXT。
并且wxPython-src-3.0.2.0/docs/osx/install.txt
中的说明说:
In wxWidgets 3, Cocoa is the recommended library.
...
...
# Build the library for Cocoa (wxWidgets 2.9.0 and later)
mkdir build-cocoa-debug
cd build-cocoa-debug
../configure --enable-debug
make
# Build the samples and demos
cd samples; make;cd ..
cd demos; make;cd ..
否$ make install
?无论如何,make
以这些问题结束了:
../src/osx/webview_webkit.mm:392:30: warning: incompatible pointer types sending
'WebViewUIDelegate *' to parameter of type 'id<WKUIDelegate>'
[-Wincompatible-pointer-types]
[m_webView setUIDelegate:uiDelegate];
^~~~~~~~~~
../src/osx/webview_webkit.mm:464:34: warning: 'WKPreferences' may not respond to
'setUsesPageCache:'
[[m_webView preferences] setUsesPageCache:NO];
~~~~~~~~~~~~~~~~~~~~~~~ ^
../src/osx/webview_webkit.mm:466:34: warning: 'WKPreferences' may not respond to
'setUsesPageCache:'
[[m_webView preferences] setUsesPageCache:YES];
~~~~~~~~~~~~~~~~~~~~~~~ ^
../src/osx/webview_webkit.mm:936:25: error: cannot initialize a variable of type
'WebBackForwardList *' with an rvalue of type 'WKBackForwardList *'
WebBackForwardList* history = [m_webView backForwardList];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/osx/webview_webkit.mm:954:25: error: cannot initialize a variable of type
'WebBackForwardList *' with an rvalue of type 'WKBackForwardList *'
WebBackForwardList* history = [m_webView backForwardList];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings and 2 errors generated.
make: *** [webviewdll_osx_webview_webkit.o] Error 1
$
OSX 10.10.2
修改
源代码发行版中的安装文档讨论了避免在系统python中安装wxPython,所以我继续使用python2.7的二进制安装程序(.dmg文件),相信它不会安装在系统python,它似乎已成功安装在我的python2.7:
~$ python
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>>
我的系统python有一个不同的次要版本:
$ /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 -V
Python 2.7.6
虽然,我的python2.7碰巧是我的PATH中的第一个python,所以也许安装程序只选择了它找到的第一个python2.7。如果我没记错的话,当你安装自己的python2.7时,安装程序会调整PATH环境变量(在〜/ .bash_profile中),将包含python2.7的目录放在包含系统python的目录之前。
因此,如果您为自己的python2.7进行了常规安装,那么安装wxPython会找到你的python2.7而不是系统的python2.7。