0%

Python Memo

Python 的配置,使用和部分包的用法

IPython notebook 使用 python2

1
python2.7 -m IPython notebook --ip yz-gpu002.hogpu.cc

IPython/Jupyter 指定端口号和主机地址

–port: 指定端口号
–ip: 指定主机地址,可以是 IP 也可以是域名

安装兼容 Python2 的 iPython

1
pip install 'iPython<6.0'

解决中文编码问题

关键是保持操作系统编码格式和 Python 文件的编码格式一致,直接全部设置成 utf-8
然后在 Python 文件第一行增加

1
# -*- coding: utf-8 -*-

安装 package 使用豆瓣的源

1
pip install $package -i http://pypi.douban.com/simple/

设置 package 源

官方默认源非常慢,使用阿里云的镜像,修改 ~/.pip/pip.conf

1
2
3
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple

手动指定安装的版本号

1
pip install 'stevedore>=1.3.0,<1.4.0'

升级所有使用 pip install 安装的 python package

1
pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U

jupyter 远程模式

在远端开启 jupyter 服务,然后在本地连接到远端。之前的 python notebook 实现起来很麻烦,需要用 nginx 代理转发,现在有了 jupyter, 可以很方便地实现

  • 远端,在相应的目录下打开服务
1
jupyter notebook --no-browser --port=8888
  • 本地,使用 ssh 连接远端的服务:
1
ssh -NL 8888:localhost:8888 gys@1080

注意,在本地打开浏览器的时候会要求输入 token 或者密码,token 在服务器端,例如,在启动服务之后会给出下面的输出

1
http://localhost:8888/?token=5bac09b88b3366ce5ca7d2b95ea3e619879d94e2f1050b85

格式化配置

nuclide 使用 flake8 配置源码的自动格式化,在使用中首先要安装

1
sudo pip install flake8

修改 flake8 的默认配置:

1
2
3
4
# ~/.config/flake8
[flake8]
ignore = E226,E302,E41
max-line-length = 500

jupyter notebook

扩展

1
2
3
4
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

notebook 中显示图片

1
2
3
4
5
% matplotlib inline
# 设置显示图像的尺寸
matplotlib.rcParams['figure.figsize']=[16, 9]
# 或者
matplotlib.rcParams["figure.dpi"] = 120

部分包的用法

matplotlib

保持坐标轴的尺度大小,等比例缩放

这个需求源于在做数学公式识别的过程中,需要把输入数据可视化出来同时需要保持输入数据的特征

1
2
3
4
import matplotlib.pyplot as plt
plt.plot(xs, ys, "bo")
plt.gca().set_aspect('equal', adjustable='box')
plt.show()

读取中文的方法

1
2
3
4
import codecs
with codecs.open(infile, 'r', "utf-8") as f:
pass
x.decode("UTF-8")

centos install python3

1
2
3
4
5
6
7
sudo yum -y update
sudo yum -y install yum-utils
sudo yum -y groupinstall development
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install python36u
sudo yum -y install python36u-pip
sudo pip3.6 install package_name

配置 yapf

配置文件地址:~/.config/yapf/style

1
2
3
[style]
based_on_style=google
column_limit=160

配置 flake8

~/.config/flake8

1
2
[flake8]
max-line-length=160