Python安装wxPython和ubuntu使用apt提示不能更新
[空两格]昨天憨批室友搁我面前装b,说他会用pip安装Python包了,说是安装wxPython的时候通过换源解决了之前安装出错的问题。我一听,这事不对劲啊,是这个b直接看不懂输出了吧。果然,我让他在虚拟机里给我演示了一下,没想到这个b新换的源是一个国外的源,网速只有几十K???下载了一大会都没下载完,意思没到错误的地方就不算报错呗。然后我又让他换回了清华源,下载完包以后过了几分钟就提示编译出错了。但是吧,他不看编译报错,就直接百度ubuntu安装wxPython,也不想知道每步是干啥的,正好这问题还挺常见的,闲着就写一下。
最开始的就是pip的换源了,网上很多,基本就俩办法,一个是改~/.pip/pip.conf文件,一个是用pip config set index-url命令。然后吧pip其实有两个index-url,一个是index-url,一个是extra-index-url,相当于一个主,一个是备用,具体的东西其实都能用pip install --help看。linux下的命令基本都可以用--help查看帮助,多用--help比百度好使多了,也更方便。得,我把清华源的连接贴一下pip更换源为清华源
改了源以后下载速度是上去了,接下来就是Python包的安装了,Python的包有的是纯python的,有的是需要使用第三方二进制库的(主要是c/c++的库)。
纯Python的话就安装几个Python文件就行,有依赖的话就把依赖的Python文件已安装也就完事了。
主要是涉及到第三方二进制库的时候会麻烦一点点,因为要涉及到一些代码编译,会接触到configure或者cmake,编译的时候因为每个人系统环境不一样,会有一些编译错误。编译的错误基本就两种,一种是二进制库缺少需要的二进制依赖库,就拿这个wxPython来说吧,他在ubuntu下就依赖gtk+3的开发文件,一般你不使用gtk开发图形界面的话你的系统里可能就没有这个开发包。拿configure举例吧,依赖库不存在的出错信息一般就如下所示:
configure: error:
The development files for GTK+ were not found. For GTK+ 2, please ensure that pkg-config is in the path and that gtk+-2.0.pc is installed.
For GTK+ 1.2 please check that gtk-config is in the path, and that the version is 1.2.3 or above.
Also check that the libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config --libs' are in the LD_LIBRARY_PATH or equivalent.
这种带not found的就是configure编译前找不到依赖库gtk+,安装这种依赖库呢,一般就是两种方法
方法1:下载源码,自己编译,不过这对于只用python的人有点麻烦,因为需要涉及到configure , gcc ,主要是一些编译的东西
方法2:直接使用系统的包管理器,就拿常用的ubuntu举例吧,apt-get或者apt 都行,具体这种依赖库在包管理器叫啥名字就得你去百度搜一下了,每个发行版下的包管理中的包名都不太一样,找到包名一个就apt install 包名,一般的情况下linux下的开发包都是带一个-dev后缀的,比如这个libgtk+-3-dev这样。
既然说到apt奥,因为ubuntu官方源实在是太慢了,所以一般都会换成国内源,换apt的源就很简单了,用root权限打开/etc/apt/sources.list这个文件,把里面的https连接换成国内的就行,一般就用清华源或者中科大的源就行。不过因为时间太久,apt的认证可能过期了,这时候就得需要先把sources.list里面的https改成http,然后安装一下ca-certificates这个库,然后再把http改回https,这样就可以开心的继续用国内源的https链接了(安全又卫生),别憨批的再把源换成ubuntu官方的了奥。
依赖解决完以后基本就没啥事了,编译完以后pip会把Python文件和依赖库都放到site-packages下。
然后呢,还有个方法,有时候你也懒得去编译了,懒得去解决这个问题了,毕竟编译也挺费时间的,百度搜来搜去也怪累的,你就直接把别人的python包复制到你系统上python的site-packages里就行了,简单粗暴,也能解决问题。就比如wxPython这个包在Python的site-packages里的名字是wx,里面又个METADATA的文件,里面有一些Requires这种东西,就是这个包的依赖包,把这些东西也复制过去,保证你的包可以安全又卫生的运行(前提是这些依赖你的python没有安装)。
Python安装wxPython和ubuntu使用apt提示不能更新的更多相关文章
- [python]安装wxpython的时候遇到问题记录
一.安装wxpython的时候报错 “no installation of python 2.7 found in registy” 解决方案: win7上,已经安装python27,但是在安装wxp ...
- 安装Docker到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.5 LTS 软件版本:Docker-CE-18.09.5 硬件配置:无 安装过程 1.卸载旧版本 root@ubuntu:~# sudo apt-get ...
- 安装PHP到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.2 LTS 软件版本:PHP-5.6 硬件要求:无 安装过程 1.安装APT存储库 APT存储库由PPA提供. root@localhost:~# apt ...
- 安装MongoDB到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.5 LTS 软件版本:mongodb-org-4.0.8 硬件要求:无 安装过程 1.配置APT-Mongodb存储库 ATP-Mongodb存储库由Mo ...
- 安装MYSQL到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.6 LTS 软件版本:MYSQL-5.7 硬件要求:无 安装过程 1.安装APT-MYSQL存储库 APT-MYSQL存储库由MYSQL官网提供.选择安装 ...
- 安装Jenkins到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.4 LTS 软件版本:Jenkins-2.176.2 硬件要求:最低内存:256MB.磁盘:1GB 安装过程 1.配置APT-Jenkins存储库 APT ...
- 安装Zabbix到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.2 LTS 软件版本:Zabbix-4.0.2 硬件要求:无 安装过程 1.安装APT-Zabbix存储库 APT-Zabbix存储库由Zabbix官网提 ...
- 安装Gitlab到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.6 LTS 软件版本:Gitlab-ce-11.10.1 硬件要求:最低2核4GB,建议4核8GB 安装过程 1.安装依赖 root@localhost: ...
- 关于Ubuntu下apt的一些用法及和yum的比较
Fedora和Red Hat有yum安装软件,Ubuntu有apt工具. apt简单的来说,就是给Ubuntu安装软件的一种命令方式. 一.apt的相关文件 /etc/apt/sources.list ...
随机推荐
- Solution -「LOCAL」舟游
\(\mathcal{Description}\) \(n\) 中卡牌,每种三张.对于一次 \(m\) 连抽,前 \(m-1\) 次抽到第 \(i\) 种的概率是 \(p_i\),第 \(m\) ...
- suse 12 二进制部署 Kubernetets 1.19.7 - 第10章 - 部署kube-proxy组件
文章目录 1.10.部署kube-proxy 1.10.0.创建kube-proxy证书 1.10.1.生成kube-proxy证书和秘钥 1.10.2.创建kube-proxy的kubeconfig ...
- 解决Chrome94之后非安全网站请求localhost报CORS问题
问题 自从谷歌浏览器升级到chrome94版本后,在非安全网站下通过请求本地接口就会出现以下错误: Access to XMLHttpRequest at 'http://127.0.0.1:1000 ...
- python中try...excpet多种使用方法
1 print('\n欢迎使用除法计算器!\n') 2 3 while True: 4 try: 5 x = input('请你输入被除数:') 6 y = input('请你输入除数:') 7 z ...
- 在k8s中使用性能分析神器:arthas
Arthas(阿尔萨斯)是阿里巴巴开源的性能分析神器. k8s中使用arthas的三种方式 [bak]https://www.cnblogs.com/uncleyong/p/15498842.html ...
- RFC3918组播转发时延测试——网络测试仪实操
一.简介 1.RFC3918简介 历史 · 在1999年3月成为正式标准 功能 · 评测网络互连设备或网络系统的性能 · 网络设备: 交换机,路由器- 内容 · 定义了一整套测试方法,为不同厂家的设备 ...
- python的标识符&&关键字
和Java语言一样,python也有标识符和关键字.那么,你是否知道python的关键字呢?一起先从标识符了解python吧. 什么是标识符? 标识符,开发人员在开发过程中自定义的一些符号和名称. 标 ...
- C#爬虫(02):Web browser控件CefSharp的使用
一.CefSharp介绍 CEF 全称是Chromium Embedded Framework(Chromium嵌入式框架),是个基于Google Chromium项目的开源Web browser控件 ...
- centos7 部署ansible
Ansible默认采用SSH的方式管理客户端,基于python开发,由paramiko和PyYAMl 两个关键模块构建 支持非root用户管理,支持sudo ansible作用:通过使用ansible ...
- Spring AOP之3w的配置
1.3w是什么? ■ what.where.when 或者 what.when.where 2.what.where.when[通用] (1)what:增强器-bean[配置一个bean对象] (2) ...