官网:https://www.python.org/
一、python的安装与卸载
1. macos系统
# 安装python3.8(当前最新3.8.5)
brew install python@3.8
brew link --force python@3.8
# 卸载
brew uninstall python@3.8
2. centos7系统
# 安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
# 安装wget
yum install wget
# 下载python安装包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
# 解压安装(使用root用户安装)
tar -zxvf Python-3.8.5.tgz
cd Python-3.8.5
./configure prefix=/usr/local/python3
make && make install
# 添加软连接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
# 测试python3
[root@xxx bin]# python3
Python 3.8.5 (default, Sep 18 2020, 09:23:26)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
# 测试pip3
[root@tj1-miui-apm-vm031 bin]# pip3
Usage:
pip3 <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
.........
二、pip的配置与使用
1. 配置pip下载源
原因:官方源对于国内用户下载可能偏慢
pip国内的一些镜像
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
linux/mac下可在~/.pip目录下创建pip.conf文件,windows下可在C://Users//YOUR_NAME//pip下创建pip.ini文件,内容如下:
[global]
timeout = 6000
index-url = http://pypi.douban.com/simple/
[install]
trusted-host = pypi.douban.com
2. pip常见命令
pip38 install --upgrade pip # 更新pip
pip38 install -U virtualenv # 更新
sudo pip38 install --upgrade setuptools -i http://pypi.douban.com/simple --trusted-host pypi.douban.com # 更新setuptools版本
pip38 freeze > requirements.txt # 将当前环境的所有库及版本写入requirements.txt文件中
pip38 install -r requirements.txt # 从requirements.txt中安装依赖库
三、virtualenv & virtualenvwrapper的使用
1. virtualenv
pip38 install virtualenv==16.7.9 # 安装虚拟环境,高版本没有--no-site-packages
virtualenv --no-site-packages -p python38 common-py3 # 创建一个独立的没有任何第三方库的python38环境,环境名为common-py3
source common-py3/bin/activate # 生效虚拟环境,生效后命令行前会展示已生效的环境名称
deactivate ## 退出虚拟环境
如果提示如下错误,换一下pip下载源即可
Could not fetch URL https://mirrors.aliyun.com/pypi/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘mirrors.aliyun.com’, port=443): Max retries exceeded with url: /pypi/simple/pip/ (Caused by SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.”)) - skipping
2. virtualenvwrapper
主要用于管理多个虚拟环境
四、自动补齐&代码检查&格式化
1. Jedi-自动补齐和静态分析工具
Jedi是用于Python的静态分析工具,通常在IDE /编辑器插件中使用。专注于自动补全和goto功能。其他功能包括重构,代码搜索和查找引用
https://pypi.org/project/jedi/
# 安装
pip install jedi
在vscode
中使用
# 在settings.json添加.注:languageServer建议使用微软出的Pylance
"python.languageServer": "Jedi",
2. flake8-代码检查
Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强。Flake8是对下面三个工具的封装:
- PyFlakes:静态检查Python代码逻辑错误的工具。
- Pep8: 静态检查PEP8编码风格的工具。
- NedBatchelder’s McCabe script:静态分析Python代码复杂度的工具。
不光对以上三个工具的封装,Flake8还提供了扩展的开发接口。
# 安装
pip install flake8
- 在
vscode
中使用
# 在settings.json添加.
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
# 指定flake8安装的路径
"python.linting.flake8Path": "/Users/liuzhenfeng/Virtualenv/common-py3/bin/flake8",
"python.linting.flake8Args": [
"--max-line-length=79" # 单行最大长度
],
- 在
pycharm
中使用
菜单:Pycharm -> Preferences -> Tools -> External Tools
,点击+
添加配置。
Name: Flake8
Description: 代码检查
Program:
$PyInterpreterDirectory$/python
(注:指定路径下的python环境必须已安装flake8)Parameters:
-m flake8 --max-line-length=79 --show-source --statistics --exclude=*.pyc,migrations/ --max-complexity=10 $ProjectFileDir$
Working directory:
$ProjectFileDir$
以下是对
Parameters
参数的解释:(最强官方参数解释:https://flake8.pycqa.org/en/latest/user/options.html)
--max-line-length
:一行最大字符限制,默认79**(79也是PEP8的最新标准)**
--show-source
:当出现错误或警告时打印源码
--statistics
:统计每个错误或警告代码的数量并打印报告
--exclude
:排除检查的表达式列表(英文逗号隔开),默认:.svn,CVS,.bzr,.hg,.git,__pycache__,.tox,.eggs,*.egg
--max-complexity
:如果函数的McCabe复杂度比给定的值更高将发出一个告警**(代码复杂度不宜超过10,默认Flake8建议为12)**
--ignore
:忽略Flake8的错误码,即出现该错误码时不提示警告
3. yapf-格式化
YAPF(Yet Another Python Formatter)是Google开源的一个用来格式化Python代码的工具,可以一键美化代码。支持2种代码规范:
- PEP8
- Google style
# 安装
pip install yapf
- 在
vscode
中使用
# 在settings.json添加.
"python.formatting.provider": "yapf",
# 指定yapf安装的路径
"python.formatting.yapfPath": "/Users/liuzhenfeng/Virtualenv/common-py3/bin/yapf",
- 在
pycharm
中使用
当前的pycharm
版本为2020.1+
,可适配的仅有pycharm-yapf
插件,但按照后并不好用,故建议使用pycharm自带的格式化。
在pycharm上有一款叫black
的格式化插件可用,配置可参考:http://www.cppcns.com/jiaoben/python/305260.html