
Python
雪峰流云
以技术为乐的程序猿!
展开
-
在CentOS 7.7 x86_64上从python3安装pip3
线上发现一台服务器只安装python 3.7.3,但是没有安装pip3,这样就无法安装Python的各种包,分析是从二进制包安装的,并不完整。如果从python的源码包安装的话,默认是包含pip3的。有python 3.7但是没有pip3,如何安装pip3呢?现在就可以愉快地通过pip3安装各种python包了.原创 2023-02-06 16:17:44 · 572 阅读 · 0 评论 -
在CentOS 7.7 x86_64上为python 2.7.5安装pip的靠谱方法
在CentOS 7.7 x86_64上为python 2.7.5安装pip的靠谱方法原创 2022-11-26 15:43:06 · 2144 阅读 · 0 评论 -
在CentOS 7.7 x86_64上安装python3.11.0实录
在CentOS 7.7 x86_64上安装python3.11.0实录原创 2022-11-26 12:29:30 · 4674 阅读 · 1 评论 -
在Mac上利用pip3安装pyecharts模块
安装pip3 install pyecharts -i http://pypi.douban.com/simple --trusted-host pypi.douban.com原创 2020-07-28 18:54:25 · 1840 阅读 · 0 评论 -
在Mac上使用pip3安装Jupyter Notebook并简单使用
简介Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。Jupyter Notebook的主要特点编程时具有语法高亮、缩进、tab补全的功能。可直接通过浏览器运行代码,同时在代码块下方展示运行结果。原创 2020-07-28 18:47:26 · 2446 阅读 · 0 评论 -
在Mac上使用pip3安装交互式环境IPython实录
简介IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。IPython从Python发展而来,更倾向于科学计算。互联网数据分析更喜欢用。那本经典的《利用python进行数据分析》中就是使用IPython来演示的示例代码。安装命令pip3 install ipython -i http://pypi.douban.com/simple --trusted-原创 2020-07-28 17:04:59 · 369 阅读 · 0 评论 -
在Mac上使用pip3安装python的数据统计模块实录
业务需求目前我需要快速搭建一套python的数据统计和科学计算环境,来处理我工作中遇到的大量业务数据,做模拟和验证结论。我需要避免安装过程中的任何失败或包依赖的繁琐,最好几行命令就完事大吉!下面是我经过调研之后的实操记录,以作备忘。软硬件环境说明MacBook Pro 2017款顶配,MacOS 10.13.6,python3版本3.8.5,pip3版本20.1.1下面是rMBP上的python环境说明python -Vpython3 -Vpip -Vpip3 -V快速原创 2020-07-28 16:21:20 · 387 阅读 · 0 评论 -
Python中的urllib.quote和Go中的url.QueryEscape关系探讨
工作中多次遇到Python版本的签名算法,需要用Go版本再实现一遍,这就需要牵扯到Python 2.7中的urllib中的quote,quote_plus和Go中net/url包中的url.QueryEscape的关系。下面直接给出它们的关系:urllib.quote_plus(str)等同于url.QueryEscape(str), urllib.quote_plus(str)和urllib.quote(str)的关系如下rllib.quote(string[, safe])将string中原创 2020-07-06 21:47:54 · 2842 阅读 · 0 评论 -
在CentOS 7.7 x86_64上安装python3的selenium 3模块实录
安装selenium3模块pip3 install selenium如果上面的命令因为网络问题,重试多次仍失败,可以尝试下面的命令pip3 install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com配置selenium相关的环境下载并安装最新的Chrome版本wget https:...原创 2020-04-22 10:32:33 · 458 阅读 · 0 评论 -
在CentOS 7.7 x86_64上安装python3.7.7
由于Centos 7原本就安装了python2,而且这个python2不能被删除,因为有很多系统命令,比如yum都要用到。[root@VM_105_217_centos Python-3.6.2]# pythonPython 2.7.5 (default, Aug 4 2017, 00:39:18)[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on lin...原创 2020-04-22 09:53:01 · 1578 阅读 · 0 评论 -
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))
这几天python脚本中使用requests模块发现如下错误:File "/usr/local/python2710/lib/python2.7/site-packages/requests/adapters.py", line 426, in sendraise ConnectionError(err, request=request)requests.exceptions.Conn原创 2016-04-08 11:38:27 · 30935 阅读 · 2 评论 -
python中的random模块学习
我将random模块中的各函数作为代码中的注释说明了:下面是运行结果参考文献http://www.jb51.net/article/50066.htm原创 2016-04-17 17:35:18 · 1579 阅读 · 0 评论 -
python中的数据包处理模块scapy调研笔记
Scapy简介Scapy的是一个强大的交互式数据包处理程序(使用python编写)。它能够伪造或者解码大量的网络协议数据包,能够发送、捕捉、匹配请求和回复包等等。它可以很容易地处理一些典型操作,比如端口扫描,tracerouting,探测,单元测试,攻击或网络发现(可替代hping,NMAP,arpspoof,ARP-SK,arping,tcpdump,tethereal,P0F等)。最重要的原创 2016-04-18 13:41:33 · 3799 阅读 · 0 评论 -
在CentOS 6.7上源码编译安装pycurl最新版7.43.0
线上一台测试机,网络环境比较诡异,无法下载Python标准库中的源码包,也无法是pip等在线编译安装。没有办法,只能从其它服务器上下载源码包,然后scp复制过去。下面是我记录的安装过程。首先从官网下载好源码包 参照参考文献[2]中的安装说明,需要事先安装libcurl-dev库,并确保curl-config在当前用户的可查找路径中:yum -y install libcur原创 2016-05-17 21:58:00 · 1697 阅读 · 0 评论 -
There was a problem confirming the ssl certificate ……
在安装一个Python库onetimepass时发生下面的问题:pip install onetimepassCould not fetch URL https://pypi.python.org/simple/six/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILE原创 2017-04-07 09:23:36 · 18794 阅读 · 3 评论 -
在Ubuntu 16.04.5 LTS上升级python的pip版本实录
在ubuntu 16.04.5 LTS上使用Python安装模块时,比较顺手的方法是使用pip命令。这次,我在安装一个模块时,老是提示下面的问题,比较不爽。所以,我就照着提示做了一遍,记录下来,以作备忘。按照提示,执行下面的升级命令,要使用超级用户权限sudo pip install --upgrade pip在升级过程中,为了看到更多的详细信息,可以使用下面的选项sudo...原创 2018-12-17 18:22:40 · 1393 阅读 · 0 评论 -
Python中使用中文正则表达式匹配指定的中文字符串
业务场景如下:从中文字句中匹配出指定的中文子字符串原创 2016-03-30 22:26:49 · 88470 阅读 · 4 评论 -
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
在Python处理字符编码时,出现了如下莫名其妙的错误:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)出错的代码位置为解决方法:import sysreload(sys)sys.setdefaultencodin原创 2016-03-30 22:06:25 · 1170 阅读 · 0 评论 -
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb1 in position 0: invalid start byte
在Python处理字符编码时出现如下错误:UnicodeDecodeError: 'utf8' codec can't decode byte 0xb1 in position 0: invalid start byte具体业务场景如下:我读入一个编码为GBK的文件,解析里面的汉字,使用utf-8编码进行正则匹配,出现上述问题解决方法:设置python编码为GBK#en原创 2016-03-30 22:11:45 · 25516 阅读 · 1 评论 -
python中的正则替换字符串函数re.sub
python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替换成自己想要的字符串的方法re.sub 函数进行以正则表达式为基础的替换工作下面是一段示例源码下面是效果截图参考文献http://outofmemory.cn/code-snippet/8408/python-regular-expression-replace-su原创 2015-12-18 20:39:15 · 7062 阅读 · 1 评论 -
py-redis中的批量删除key方法
py-redis中有个delete接口,既可以删除单个key,也可以批量删除key,后者的正确用法网上很少,我在实践中遇到该问题,特此记录一下。网上的资料,大多都是这样的r.delete('age')r.delete('sex', 'age')正确的方法keys = r.keys()r.delete(*keys)上面这种用法就可以满足需求,如果执行成功,返回删除key的原创 2015-12-18 19:51:56 · 13094 阅读 · 0 评论 -
利用urllib2实现http post请求源码示例
在python中利用urllib2或是pycurl都可以实现http POST请求功能,下面是源码:#!/usr/bin/env python#encoding: utf-8#description: demo a simple post form#date: 2015-12-14import urllib, urllib2def post_url(url, data):原创 2015-12-14 17:47:12 · 2211 阅读 · 0 评论 -
在CentOS 6.6 64bit上安装Python 3.5.0
python 3在官网的最新版本是3.5.0,下面是我在CentOS 6.6 64bit上的安装过程实操:1、下载python 3源码# cd /usr/local/src/# wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz2、解压Python-3.5.0.tgz # tar -xzvf原创 2015-11-22 17:19:46 · 1900 阅读 · 0 评论 -
在Linux上利用python获取本机ip
下面介绍在Linux上利用python获取本机ip的几种方法原创 2015-11-21 20:04:46 · 16040 阅读 · 1 评论 -
在rMBP上利用Python的onetimepass库实现Google Authenticator Application的效果
安装onetimepass库在Mac上最简单的安装方法是sudo pip install onetimepass这里我遇到一个问题,参见http://blog.youkuaiyun.com/tao_627/article/details/69499639解决方法是pip install --trusted-host pypi.python.org onetimepass编写原创 2017-04-07 09:39:46 · 1661 阅读 · 0 评论 -
SimpleHTTPServer中出错信息:SocketServer doesn't handle client disconnects properly
今天在使用SimpleHTTPServer时遇到这个问题:----------------------------------------localhost.localdomain - - [16/Nov/2017 16:50:42] "GET /health.txt HTTP/1.0" 200 -----------------------------------------Excep原创 2017-11-16 16:55:46 · 954 阅读 · 0 评论 -
Pip install: ImportError: cannot import name IncompleteRead
我在Ubuntu 14.04 64bit上安装python开发环境的过程中遇到如下错误:Pip install: ImportError: cannot import name IncompleteRead表现的现象是, 无论我怎么使用pip install XXX, 我都会得到上面类似的错误, (在ubuntu中使用命令直接安装的pip出错了, 不管是卸载后重装, 都无法修复原创 2015-03-15 09:41:53 · 9448 阅读 · 1 评论 -
在Ubuntu 16.04.6 LTS上升级python 3.5到3.7.3实录
缘由我想安装一个python模块you-get,发现只能使用pip3安装,但是我发现我的Ubuntu 16.04.6 LTS上有python3.5,但是没有pip3,也无法成功安装,真是要了我的老命!网上调研一番后,发现直接从python的官网下载最新的python3.7的源码来升级python3这个思路是最可行的办法。因为python3只是一个python3.5中python3命令指向的符号...原创 2019-06-05 14:47:32 · 29660 阅读 · 11 评论 -
在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' 出错问题的解决方法
在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' returned non-zero exit status 1问题解决方法我在Ubuntu 16.04.6 LTS中将python3的版本由3.5升级到3.7.3,在安装任何模块时,比如执行下面的命令sudo pip3 install you-get...原创 2019-06-05 14:24:40 · 9196 阅读 · 12 评论 -
在Ubuntu 16.04.5 LTS上安装pygame模块
简介Pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。 安装sudo pip install pygame验证在命令行上输入python,再import pygame, 如果没有报错,说明python安装成功。示例下面借用网上的例子展示一下效果,给出《...原创 2019-01-08 17:42:24 · 703 阅读 · 0 评论 -
在Ubuntu 16.0.4.5 LTS上安装python 2.7版本的cv2模块
简介OpenCV是一个C++库,用于实时处理计算机视觉方面的问题,涵盖了很多计算机视觉领域的模块。 OpenCV有两个Python接口,老版本的cv模块使用OpenCV内置的数据类型,新版本的cv2模块使用NumPy数组。对于新版本的模块,可以通过下面方式导入:import cv2而老版本的模块则通过下面方式导入:import cv2.cv安装cv2下面记录了在Ubunt...原创 2019-01-04 16:13:13 · 1183 阅读 · 0 评论 -
在Ubuntu 14.04.5 LTS上安装python模块selenium 3实录
简介Selenium是python模块库中一组web自动化测试工具集,提供多种语言的API,例如java,python,ruby,.net等,支持Firefox,Chrome,IE,Safari 等多种浏览器,但是它驱动浏览器运行需要有专门的驱动程序。当驱动程序与浏览器的版本不匹配是就会报错。所以下载驱动一定要注意版本的匹配问题。Selenium2.0和selenium3.0的到底选择哪个...原创 2019-01-04 11:30:08 · 409 阅读 · 0 评论 -
在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录
缘由这两年网上出现了使用python中的PIL或是pillow库拼接图片和朋友圈图像的例子,让我非常感兴趣,比较典型的是这几个例子:《朋友圈的朋友们,你们终于可以互相看到了》《1000张图片如何拼接》我实操了一下,发现还是有些小问题,下面是我消化吸收和改进的过程。改进的地方:1.存放图片的文件夹是任意指定的,里面文件名没有要求,不需要按照序号1,2,……这样的命名,更实用;...原创 2018-12-19 11:33:01 · 771 阅读 · 0 评论 -
在ubuntu 16.04.5 LTS上使用Python 2.7生成带logo的二维码实战
安装依赖库详细的使用python模块qrcode库的博文,参见https://blog.youkuaiyun.com/tao_627/article/details/85053884下面的例子需要使用qrcode,pillow,matplotlib和python-tk库,安装如下sudo pip install qrcodesudo pip install pillowsudo pip i...原创 2018-12-17 19:58:33 · 461 阅读 · 0 评论 -
在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录
简介二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。下面是我使用qrcode生成的自己博客的二维码,欢迎关注。可以使用python提供的qrcode库来快速生成二维码,...原创 2018-12-17 18:51:04 · 828 阅读 · 0 评论 -
在Ubuntu 16.04.5 LTS上利用python 2.7中的PIL模块智能等比例压缩过大的图片集实操
需求有时候自媒体创作写稿时难免遇到大规模压缩某个文件夹内的图片的情况,通常我们可以使用一些批量压缩的工具来处理,但我觉得,这是小白的做法,对于我们这些经验丰富的老司机来说,使用代码来处理,将是一件高效而且高逼格的事情。使用PIL中的Image模块,就能很快地完成这项工作。准备我的电脑图片文件夹中有一个壁纸文件夹"win8壁纸",都是分辨率超过1080P的大图,我将使用python代码将...原创 2018-12-22 10:16:25 · 409 阅读 · 0 评论 -
在Ubuntu 16.04.5 LTS上利用python中的PIL模块压缩一百多兆的单张图片实操
在前面的博文中,我将300多张电影海报拼接为了一张103MB的巨幅图片,我想拿它做电脑桌面(1080P),但是这么多的图片,存储和加载是个麻烦事儿,需要将它压缩到几MB大小。在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录我尝试了市面上所有的压缩软件,发现处理时间冗长且压缩效果较差。下面是采用python的PIL中的Image模块,十几...原创 2018-12-22 09:39:43 · 517 阅读 · 0 评论 -
Python中*args 和**kwargs的用法探讨
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。不确定的意思可以是有,有几个,也可以是没有*args可以当作可容纳多个变量组成的list**kwargs可以当作容纳多个key和value的dictionary# just use "*" to collect all remaining arguments into a原创 2015-10-31 13:56:01 · 10101 阅读 · 1 评论 -
python中的daemon守护进程实现方法
守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。守护进程的特性1.在后台运行2.与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符、控制终端、会话和进程组、工作目录以及文件创建掩码等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。3.启动方式特殊原创 2015-10-31 12:06:44 · 20388 阅读 · 3 评论 -
python多线程下的信号处理程序示例
下面是一个网上转载的实现思路,经过验证,发现是可行的,就记录下来。思路python多线程中要响应Ctrl+C的信号以杀死整个进程,需要:1.把所有子线程设为Daemon;2.使用isAlive()函数判断所有子线程是否完成,而不是在主线程中用join()函数等待完成;3.写一个响应Ctrl+C信号的函数,修改全局变量,使得各子线程能够检测到,并正常退出。源码原创 2015-06-27 07:25:43 · 5068 阅读 · 0 评论