Python基础篇:PyCharm和包管理工具pip

Posted 风流 少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础篇:PyCharm和包管理工具pip相关的知识,希望对你有一定的参考价值。

一:设置文件模板

创建文件时在文件的最上面自动使用模板。

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# @author: monday
# @time: $DATE $TIME
# @desc: 

二:快捷键

  • Ctrl + Alt + V :自动将语句赋值给一个变量,将光标放到行的末位。

  • Alt + 单击每一行:单击的每一行都有光标,常用于同时操作多行代码。通过鼠标单击位置来确定光标位置,同一行也可以有多个光标。

  • Ctrl + Alt + Shift + 鼠标左键拖动(Mac)、Shift + Alt + 鼠标左键拖动(Windows):同时选择多行。与Alt+鼠标单击不同的是这种光标只能定位在同一列

  • Shift + F10:Run运行。
  • Shift + F9:Debug调试。

三:设置国内阿里云镜像

# 查看镜像列表
pip config list

# 设置为aliyun镜像
# 也可以直接修改~/.config/pip/pip.conf这个文件
# 阿里云镜像    https://mirrors.aliyun.com/pypi/simple/
# 清华大学镜像  https://pypi.tuna.tsinghua.edu.cn/simple/
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

# 取消全局配置
pip config unset global.index-url

# 临时从阿里云上安装
pip install -i https://mirrors.aliyun.com/pypi/simple/包名

四:使用pip安装第三方库

4.1 pip手动单个安装

pip是一个现代的,通用的 Python 包管理工具。提供了对Python 包的查找、下载、安装、卸载的功能。

命令描述
help帮助显示命令的帮助 (Show help for commands.)
config配置本地和全局变量(常用配置仓库的镜像地址)
list列表列出已安装的包 ( List installed packages.)
install安装包安装 (Install packages.)
uninstall卸载卸载包 (Uninstall packages.)
freeze冻结按需求格式安装的包的输出 (Output installed packages in requirements format.)
check检查已安装的软件包是否具有兼容的依赖项 ( Verify installed packages have compatible dependencies.)
show显示已安装软件包的信息 ( Show information about installed packages.)
download下载下载包 (Download packages.)
search搜索PyPI查找包 (Search PyPI for packages.)
wheel根据您的需求构建轮子 (Build wheels from your requirements.)
hash包存档的哈希计算值 ( Compute hashes of package archives.)
completion用于命令完成的辅助命令 ( A helper command used for command completion.)
debug显示对调试有用的信息 ( Show information useful for debugging.
# 查看版本和路径
pip --version

# 升级pip --upgrade 或 -U 都可以
pip install --upgrade pip
pip install -U pip

# 帮助,查看命令的选项 
pip help


# 设置为aliyun镜像
# 也可以直接修改~/.config/pip/pip.conf这个文件
# 阿里云镜像    https://mirrors.aliyun.com/pypi/simple/
# 清华大学镜像  https://pypi.tuna.tsinghua.edu.cn/simple/
# 豆瓣         https://pypi.douban.com/simple/
# 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
# 华中理工大学:http://pypi.hustunique.com/
# 山东理工大学:http://pypi.sdutlinux.org/ 
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

# 取消全局配置
pip config unset global.index-url

# 查看镜像列表
pip config list

# 查看已经安装的包的名字和版本号
pip list
# 查看哪些包可以升级
pip list -o

# pip search命令会报错,需要先安装pip-search,然后使用pip-search来查询
pip install pip-search
pip-search requests

# 安装最新版本的库
pip install 包名
# 安装指定版本的库
pip install 包名==2.28.1
# 安装最小版本(
# == 指定具体版本号
# >= 指定最低版本号
# <= 指定最高版本号
# > 不低于某个版本
# < 不高于某个版本)
pip install '包名>=2.28.1'
# 临时从阿里云上安装
pip install -i https://mirrors.aliyun.com/pypi/simple/包名
# 升级版本号(通过使用==, >=, <=, >, < 来指定一个版本号)
pip install --upgrade 包名
# 卸载库
pip uninstall 包名


# 下载某个包但不安装包
pip download 包名 -d "下载路径"

# 检查安装的包是否有版本冲突
pip check
# 检查某个包是否有版本冲突
pip check 包名


# 查看某个库的详情
pip show 包名



# 将项目中的所有第三方包的包名和版本号写入到requirements.txt文件中
pip freeze > requirements.txt

# 批量安装requirements.txt文件中的列举的所有包
pip install -r requirements.txt

4.2 pip自动批量安装

import pip

try:
    import requests
    import numpy as np
    import pandas as pd
except ImportError:
    pip.main(["install", "requests", "numpy", "pandas"])

4.3 os自动批量安装

import os

libs = ['requests', 'numpy', 'pandas']
for lib in libs:
    os.system('pip install ' + lib)

五:使用PyCharm安装第三方库

Interpreter Settings -> + -> Manage Repositories -> 搜索安装(安装时可以选择版本号及仓库等)


仓库地址可以是阿里云镜像仓库、清华python仓库等其他第三方仓库地址。

Options: 选项,可以指定临时仓库地址等参数,如 -i https://pypi.tuna.tsinghua.edu.cn/simple/

六:第三方库管理

6.1:简介

6.1.1 常用包管理工具

依赖管理就是管理第三方库(安装、卸载等),用的最多的就是将第三方库从远程仓库中下载到本地供当前项目使用。

  • Java可以通过Maven(pom.xml)、Gradle(build.gradle)来管理依赖。
  • 前端Vue通过npm(package.json)来管理第三方插件。
  • Python通过Virtualenv(requirements.txt)、PipenvPoetryConda这四种来管理第三方库。

6.1.2 依赖管理要解决的问题

当多个项目需要使用不同的第三方库时就会出现这样的问题:如A项目开发的比较早使用的是Python2.7版本,该项目使用的第三方依赖也是比较低的版本;B项目是后来开发的使用Python最新版本Python3.8以及目前最新的版本的相关依赖。这时就要配置每个项目使用的每个第三方库对应的版本号。

依赖管理就是配置每个项目使用了哪些第三方库以及这些第三放库对应的版本号。

6.2 Virtualenv 虚拟环境

Virtualenv(virtual environment) : 虚拟环境解决的办法是为每个项目创建一套独立的环境,各自项目使用各自的环境,这样每个项目的第三方库就互不影响了。 每套环境包含Python具体的环境(如Python3.8)以及需要安装的第三方库。 创建好虚拟环境然后指定当前项目对应的虚拟环境就行了, 这样项目所使用的依赖只需要去各自的虚拟环境venv下找就行了。

6.2.1 使用PyCharm创建虚拟环境Virtualenv

使用PyCharm创建项目时会让你先选择依赖管理,这里选择Virtualenv,项目创建完后会自动创建一个venv目录。项目创建换成后会自动激活当前虚拟环境,然后点击最下方的Terminal通过pip命令就可以安装第三方依赖。


通过Perferences可以查看当前项目使用的虚拟环境。

6.2.2 使用命令创建虚拟环境

以上操作都是IDE帮助我们自动完成的,如创建venv目录,激活当前虚拟环境。对于老项目如果没有使用虚拟环境也可以通过命令行来添加虚拟环境。

  1. 创建虚拟目录
# python3 -m venv 虚拟环境名称,名称是随意起的,这里起的是tutorial-env
python3 -m venv tutorial-env
  1. 激活虚拟环境
    当激活虚拟环境时命令行上会有个虚拟环境名前缀。
# Unix或MacOS上激活虚拟环境
source tutorial-env/bin/activate

# windows上激活虚拟环境
tutorial-env\\Scripts\\activate.bat
  1. 安装第三方库

# 安装第三方库
pip install requests

# 安装指定版本的第三方库
pip install requests==2.6.0

6.2.3 Virtualenv的缺点

  1. 如果安装新的第三方库或者更新的版本号都要手动执行pip freeze > requirements.txt命令来维护第三方库列表,容易造成忘记更新requirements.txt文件。
  2. requirements.txt会记录安装的第三方库所依赖的其它第三方库。如上面只安装了requests却在requirements.txt记录了5个相关依赖。
  3. Virtualenv会在项目中生成一个venv目录,venv包含了所有第三方库及Python环境,会造成项目比较大。

6.3 Pipenv

Pipenv是对Virtualenv的再封装,解决了Virtualenv的所有缺点。

6.3.1 安装pipenv

pipenv默认是没有安装的,全局安装pipenv。

sudo -H pip install -U pipenv

6.3.2 PyCharm选择Pipenv环境

6.3.3 修改源


修改默认的源为阿里云。

[[source]]
url = "https://mirrors.aliyun.com/pypi/simple/"
verify_ssl = true
name = "aliyun"

6.3.4 安装第三方库

在Terminal中安装第三方库requests。

pipenv install requests

6.3.5 Pipfile和Pipfile.lock

pipenv只生成Pipfile和Pipfile.lock两个文件, 并没有像Virtualenv方式在项目目录下生成venv目录,虚拟环境所需要的第三方库会保存到其它目录下。

  • Pipfile: 用于记录所引用的第三方库,分开发包和正式包。Pipfile文件只记录install的库,安装的库所依赖的库不会在此文件中记录,
  • Pipfile.lock文件:用于记录第三方库对应的版本号,该文件会记录install所依赖的库,例如安装requests库也会依赖urllib3等。

6.3.6 pipenv相比venv的好处

  • pipenv使用Pipfile文件来代替简陋的requirements.txt 文件。
  • pipenv区分开发环境和正式环境。
  • pipenv只记录install的依赖,不记录第三方依赖的库。
  • pipenv虚拟环境目录不在当前项目中。

6.3.7 pipenv命令

# 查看pipenv安装的第三方库的位置
pipenv --venv
/Users/mengday/.local/share/virtualenvs/demo2-UnCUYduF

# 进入pipenv环境
pipenv shell

# 安装第三方库
pipenv install requests

# 显示安装的库及依赖的库的信息
pipenv graph

6.4 Anaconda

Anaconda是包管理器和环境管理器。Anaconda预安装了很多数据分析相关的依赖。 Anaconda 一般用于数据分析相关的项目。

Anaconda安装后会有一个默认的环境base(root), 该环境已经安装了Python和其它常用的第三方库, 可以通过Anaconda Navigator来管理环境,也可以通过命令行来管理环境。

conda 是 Anaconda 下用于包管理和环境管理的工具,功能上类似 pip 和 vitualenv 的组合。

# 基于python3.7版本创建一个名字为python37的环境
conda create --name python37 python==3.7

# 激活此环境
conda activate python37

# 退出当前环境
conda deactivate 

# 删除该环境
conda env remove -n python37

# 查看所有安装的环境以及环境安装的目录
conda info -e


# 安装 requests 
conda install requests

# 查看已安装的包
conda list 

# 包更新
conda update requests

# 删除包
conda remove requests


# 更新conda本身
conda update conda

# 更新anaconda 应用
conda update anaconda

# 更新anaconda 应用
conda update anaconda


常见一个环境默认安装了17个第三方库。

七:Python交互终端

  • python:在cmd中输入python进入,但是这种体验不好,多行代码写错了,没法返回到其它行。
  • ipython:需要先安装 pip3 install ipython , 多行代码光标可以移动。

以上是关于Python基础篇:PyCharm和包管理工具pip的主要内容,如果未能解决你的问题,请参考以下文章

Python零基础到入门Python预备知识必备篇——安装可视化工具 PyCharm

Python零基础到入门Python预备知识必备篇——安装可视化工具 PyCharm

python版本管理工具pyenv和包管理工具pipenv

python 工具链 虚拟环境和包管理工具 pipenv

python基础,安装pycharm开发工具

python基础,安装pycharm开发工具