macOS在virtualenv中使用wxPython报错
在虚拟的Python环境中运行GUI的软件报错
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.
这个问题其实我认为是virtualenv的bug,但好像设计就是这个样子。
所以只能hacker一下了
以下内容来自于StackOverflow,根据自身情况有所修过
#!/usr/bin/env zsh #move it into virtualenv/bin ENV=`python -c "import sys; print(sys.prefix)"` PYTHON=`python -c "import sys; print(sys.real_prefix)"`/bin/python3 export PYTHONHOME=$ENV exec $PYTHON "$@"
具体表达一下这段代码但意思吧。先把他保存成脚本放在virtualenv的bin目录下面。一定要在进入virtualenv后运行脚本,hacker才可以正常生效。
首先获取当前Python的位置,一般是工作目录的virtualenv下面。
再获取这个Python的真实文件位置,用真实的文件去跑程序。
这里有个疑问就是,那我的pip环境怎么办?
其实是这样的,倒数第二行,PYTHONHOME变量就是控制这个的,这也就是为什么需要获取那个虚拟的Python位置的原因。
最后一行就是执行。
我的工作目录是sub2,里面有个ENV目录这里是保存虚拟环境的。我将上面的脚本保存成runGUI,存在sub2/ENV/bin/runGUI,以后我只要进入Python虚拟环境然后runGUI xxx.py而不是python xxx.py就可以解决了。
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具