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就可以解决了。
macOS在virtualenv中使用wxPython报错的更多相关文章
- 解决MyEclipse中的js报错的小方法
今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ...
- 关于Entity Framework中的Attached报错相关解决方案的总结
关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...
- 关于Entity Framework中的Attached报错的完美解决方案终极版
之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...
- Eclipse中启动tomcat报错:A child container failed during start
我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...
- MyEclipse8.6中提交SVN报错
上周五(11月27日)的时候,从TortoiseSVN提交项目报错,然后直接从MyEclipse中检出来,修改后提交同样报错. MyEclipse8.6中提交SVN报错,错误提示如下: commit ...
- idea中编译项目报错 java: javacTask: 源版本 1.8 需要目标版本 1.8
问题如上面所叙: > idea中编译项目报错 java: javacTask: 源版本 1.8 需要目标版本 1.8 解决方案: > Setting->Compiler->Ja ...
- .vue文件在webstorm中es6语法报错解决方法
1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...
- pycharm 中 import requests 报错
一 , 使用Pycharm来抓取网页的时候,要导入requests模块,但是在pycharm中 import requests 报错. 原因: python中还没有安装requests库 解决办法: ...
- eclipse 中新建文件报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Buil
在eclipse中新建文件报错错误提示如下: The superclass "javax.servlet.http.HttpServlet" was not found on th ...
随机推荐
- linux安装ssh服务
1.安装openssh-server sudo apt-get install openssh-server 2.检查openssh-server是否安装成功 sudo ps -e | grep ss ...
- 基于vue-cli,sass,vant的移动端项目
项目架构 开始 vue init webpack 项目名称 //新建项目,cd进入新项目 npm install axios //先安装! ...
- github 操作
https://www.cnblogs.com/cxk1995/p/5800196.html 1在已有的GitHub账号下创建项目. 2将GitHub项目克隆到本地. git clone https ...
- CSS实现元素水平垂直居中
我们知道,实现元素的水平居中比较简单,在设置了宽度后,设置左右margin为auto就可以. 但是如何设置元素垂直居中呢? 当然,对于单行的文字,可以通过设置line-height来解决, 可以对于一 ...
- 版本控制--git+idea
- socket FTP-1
基于socket实现文件的传输以及md5验证 server: import socket import os import hashlib server=socket.socket() server. ...
- Linux基础学习(11)--Shell编程
第十一章——Shell编程 一.基础正则表达式 1.正则表达式与通配符(*,?,[ ]): 2.基础正则表达式: 二.字符截取命令 1.cut字段提取命令: 空格分割时,不知道空格有多少个,无法分割行 ...
- maven(win10)配置完环境变量后无法识别mvn -v命令
第一步:http://maven.apache.org/download.cgi官网下载 第二步:把压缩包解压缩到不含中文和空格的目录下 第三步:新建MAVEN_HOME环境变量,值为maven解压缩 ...
- TestNG之使用ReportNG生成测试报告
TestNG使用ReportNG生成测试报告会更加美观. 依赖包 <!--testNG报告依赖包--> <dependency> <groupId>org.test ...
- Bootstrap之图片展示界面Demo2
代码:(使用模板引擎freemarker) <!DOCTYPE html> <html> <head> <title>图片</title> ...