存档

‘Python’ 分类的存档

PyAudio 安装出错 command ‘x86_64-linux-gnu-gcc’ failed with exit status 1

2018年8月10日 没有评论

昨天在服务器上安装 python的音频库 pyaudio时,无法正确安装,而在本机Windows上没有遇到这个问题。

网上一番搜索,最后发现安装 protaudio19-dev 这个库解决了我的问题。

sudo apt-get install portaudio19-dev

分类: Python, 一句话 标签:

Python 转换15位身份证号码到18位

2018年2月13日 没有评论

分类: Python 标签:

解决 Python 3 调用 Redis 字符串显示 b 前缀的问题

2018年2月2日 没有评论

昨天有按照网上的教程去使用 Python 调用Redis ,代码很简单,就像下面这样子:

但是,运行后的结果显示  b’python’ ,多了一个b,但是获取字符长度的确又是对的,觉得很是奇怪。

今天有向同事妹子请教,后来得出的结论是用回 python 2.7。和妹子继续搜索,发现了解决方法:sys.stdout.buffer.write(r.get(“name”)) ,这么一来需要再引入 sys 库,而且需要自己添加换行符了。

继续搜索,我们可以使用 print(r.get(‘name’).decode(‘utf-8’)),即解码一下然后再显示。稍微好了一点,但是每次要读取 Redis 数值的时候,都要这么来转换下确实显得有点猥琐。

我在想,一定还有更简单的方式。最后看到 stackoverflow 和简书上也讨论了这个事情,有一个剑走偏锋的设置,就是在数据库的连接字符串里多添加一个参数 decode_responses=True,这么一来就会自动将 response 解码。这么做大多数情况下是没有问题的,需要额外注意的是,如果保存在 Redis 数据库里的原始数据就是二进制的,那么通过这种方式,可能得不到自己想要的结果。

在实际运用的时候,就可以灵活考虑了,适当的时候综合使用这两种方式。

 

分类: Python 标签: ,

pip 的安装

2018年1月10日 没有评论

在前面的《Ubuntu安装Shadowsocks》一文中,衣服自己洗简单地使用了apt-get来安装pip,但是这样会有一个问题,其依赖于本机安装的python版本,对于目前的ubuntu系统而言,都是默认安装的2.7的版本,对应的pip版本也是python 2.7的,我们需要主动使用python3。

首先安装python 3

sudo apt-get install python3,然后我们需要替换默认的python命令以指向新的3.5,删除/usr/bin/python 这个软链接,重新创建 sudo ln -s /usr/bin/python3.5 /usr/bin/python。

接下来就是正文了。

curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py”
python get-pip.py
pip install –upgrade pip
pip install shadowsocks

所以,让我们运行上面的命令,来安装pip和shadowsocks吧。

分类: Python, 一句话 标签: