运行wxpython-phoenix website上提供的示例hello-world代码会在osx上抛出一个已知错误。可以在here和here中找到可能的解决方案,但似乎都不适用于ipython和pycharm。
问题:如何在pycharm中使用ipython解决这个已知错误?
设置:
OSX 10.12.5塞拉
conda venv中的ipython 3.7.1
pycharm CE 2018.3
(从命令行和jupyter notebook也会失败)
运行的代码:(来自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.
注意:此问题类似于:
对于新版本的wxpython.来说,像this one这样的其他问题已经过时了
发布于 2019-04-16 06:45:02
在使用conda环境时,您需要安装python.app
包,然后使用pythonw
来运行使用wxPython的应用程序。
在操作系统上,命令行是:(如here所示)
conda install -c anaconda python.app
您将看到以下消息;请确认以继续。
以下软件包将被更高优先级的通道取代: 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
https://stackoverflow.com/questions/55684539
复制相似问题