运行wxpython-phoenix网站上提供的示例hello-world代码会在osx 上引发一个已知错误。可能的解决方案的提示可以在此处和此处找到,但似乎都无法与ipython和pycharm一起使用。
问题:如何在pycharm中使用ipython解决此已知错误?
设定:
conda venv pycharm CE 2018.3 中的OSX 10.12.5 Sierra ipython 3.7.1 (在命令行和jupyter笔记本中也失败)
运行了代码:(从wxpython入门页面开始)
import wx
app = wx.App()
frm = wx.Frame(None, title="Hello World")
frm.Show()
app.MainLoop()
错误信息
This program needs access to the screen. Please run with a
Framework build of python, and only when you are logged in
on the main display of your Mac.
全面追溯
---------------------------------------------------------------------------
SystemExit Traceback (most recent call last)
<ipython-input-1-5af94fb54276> in <module>
3
4 # Next, create an application object.
----> 5 app = wx.App()
6
7 # Then a frame.
~/anaconda3/envs/py37/lib/python3.7/site-packages/wx/core.py in __init__(self, redirect, filename, useBestVisual, clearSigInt)
2100 # TODO: more description is needed for wxMSW...
2101
-> 2102 raise SystemExit(msg)
2103
2104 # This has to be done before OnInit
SystemExit: This program needs access to the screen. Please run with a
Framework build of python, and only when you are logged in
on the main display of your Mac.
注意:这个问题类似于: - 那个是针对python2.7的,但是没有收到答案 - 那个为pycharm之外的常规python提供了过时的修复程序 像这样的其他问题,对于新版本已经过时了wxpython的
使用conda环境时,需要安装python.app软件包,然后用于pythonw运行使用wxPython的应用程序。
在OSX,命令行是:(如图所示这里)
conda install -c anaconda python.app
您将看到以下消息;确认继续。
The following packages will be SUPERSEDED by a higher-priority channel:
python.app: 2-py37_9 --> 2-py37_9 anaconda
使用pycharm,需要更改项目解释器:
->转到:
preferences
project interpreter
add interpreter
conda environment
anaconda (or anaconda3)
bin
pythonw
select pythonw
apply
ok
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。