pip 的安装 & 更新 确保您已经有了 Python 和 pip 在您进一步之前,请确保您有 Python,并且可从您的命令行中获得。 您可以通过简单地运行以下命令来检查:
1 2 3 $ python --version $ pip --version
关键步骤 来到命令行界面,执行
1 2 python2-m pip install --upgrade pip --force-reinstall python3-m pip install --upgrade pip --force-reinstall
1 2 3 # 分别重装两个python版本的pip python -m pip install --upgrade pip --force-reinstall,显示重新安装成功。 python3 -m pip install --upgrade pip --force-reinstall,显示重新安装成功。
查看版本 1 2 3 4 输入pip2 -V ,pip3 -V 查看版本信息 # 卸载 python -m pip uninstall pip
卸载 安装pip 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 安装pip环境: sudo easy_install pip Mac 卸载自己安装的 python 第一步:删除框架 sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.6 第二步:删除应用目录 sudo rm -rf "/Applications/Python 3.6" 第三步:删除指向python的链接 cd /usr/local/bin/ ls -l /usr/local/bin | grep '/Library/Frameworks/Python.framework/Versions/3.6' # 查看链接 ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/x.x' | awk '{print $9}' | tr -d @ | xargs rm brew prune # 清除链接和目录
升级pip 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 $ python3 Python 3.6 .6 (default, Sep 5 2018 , 03:40 :52 ) [GCC 6.3 .0 20170516 ] on linuxType "help" , "copyright" , "credits" or "license" for more information.>>> from pipenv.vendor.pip_shims import get_installed_distributions, FrozenRequirement>>> FrozenRequirement <class 'pipenv.patched.notpip._internal.operations.freeze.FrozenRequirement' >>>> get_installed_distributions <function get_installed_distributions at 0x7f4298e859d8 >>>> import pipenv>>> pipenv.__version__'2018.10.9' I'm currently using python3 -m pip install pip==10.0.1 python3 -m pip install pipenv==2018.5.18 Once #2924 is fixed and released, you can upgrade again to the latest and greatest. python3 -m pip install --upgrade pip python3 -m pip install --upgrade pipenv
以后只需运行pip(2) install XXX
和pip3 install XXX
即可安装各自的python包。
注意 ,使用Python2.X 或pip2 安装东西的时候要注意权限问题,如果当前用户是普通用户,需要切换到管理员用户 sudo -i
pip的使用 pip 为python的包管理器. 最新的python2和python3都已经自带pip.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 # 显示帮助 pip pip --help pip install -h # 显示安装的帮助# 安装包 pip install PackageName # latest version pip install PackageName==1.0.4 # specific version# 包列表 pip list # 显示已安装的包 pip list --outdated # 显示有更新的包# 显示包的简介, 以及包的源码文件 pip show --files PackageName# 更新包 pip install --U PackageName pip install --upgradwe PackageName pip install --upgrade pip # pip更新自己 python -m pip install --U pip # -m 表示调用python模块, 这里就是要调用pip# 卸载包 pip uninstall PackageName# 遇到SSL问题, 下载失败时, 信任下载源即可 yum install openssl -y# [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:XXX) pip list --outdated --trusted-host pypi.python.org pip install --trusted-host pypi.python.org PackageName pip3 install --upgrade pip --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org pip install pip -U pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 如果还是不行, 再试试下面这句. index-url 将源指定为http格式, 不用https了, 然后设置为信任. # 指定单次下载包源 pip install <包名> -i https://mirrors.aliyun.com/pypi/simple pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org PackageName python3 -m pip install --upgrade --force pip # 安装 sudo easy_install pip# 列出已安装的包 pip freeze or pip list# 导出requirements.txt pip freeze > requirements.txt# 在线安装 pip install PackageName 或 pip install -r requirements.txt 通过使用== >= <= > <来指定版本,不写则安装最新版 requirements.txt内容格式为: APScheduler==2.1.2 Django==1.5.4 安装本地安装包 pip install <目录>/<文件名> 或 pip install --use-wheel --no-index --find-links=wheelhouse/ PackageName PackageName前有空格 可简写为 pip install --no-index -f=<目录>/ PackageName# 卸载包 pip uninstall PackageName 或 pip uninstall -r requirements.txt# 升级包 pip install -U PackageName 或:pip install PackageName --upgrade 升级pip pip install -U pip# 显示包所在的目录 pip show -f PackageName# 搜索包 pip search <搜索关键字># 查询可升级的包 pip list -o# 下载包而不安装 pip install PackageName -d <目录> 或 pip install -d <目录> -r requirements.txt# 打包 pip wheel PackageName
pip安装
pip documentation
readthdoc
更换国内pypi镜像 国内pypi镜像
指定单次安装源 1 pip install <包名> -i https://mi rrors.aliyun.com/pypi/ simple
指定全局安装源 在unix
和macos
,配置文件为:$HOME/.pip/pip.conf
在windows
上,配置文件为:%HOME%\pip\pip.ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [global] timeout = 6000 index-url = https://mirrors.aliyun.com/pypi/simple pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask # pypi 配置方法 在文件 ~/.pip/pip.conf 中添加或修改: [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
Pipenv & 虚拟环境 用Pipenv 安装相互独立的虚拟环境
pipenv:Pyhton 官方推荐的新一代包管理工具。 它综合了 virtualenv , pip 和 pyenv 三者的功能。能够自动为项目创建和管理虚拟环境。 pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息,避免构建错误。相比pip需要手动维护requirements.txt 中的安装包和版本,具有很大的进步。
安装pipenv 如果你是Mac电脑,那么推荐使用Homebrew 来安装。
如果不是Mac电脑,建议 使用Python3的pip3 安装:
1 2 3 $ pip3 install pipenv or$ pip install --user pipenv
执行pipenv,可以查看pipenv的帮助信息:
其他方式后面有链接地址
安装 Pipenv Pipenv 是 Python 项目的依赖管理器。如果您熟悉 Node.js 的 npm 或 Ruby 的 bundler ,那么它们在思路上与这些工具类似。尽管 pip 可以安装 Python 包, 但仍推荐使用 Pipenv,因为它是一种更高级的工具,可简化依赖关系管理的常见使用情况。
使用 pip
来安装 Pipenv:
1 $ pip install --user pipenv
注解
这进行了 用户安装 ,以防止破坏任何系统范围的包。如果安装后, shell 中没有pipenv
,则需要将 用户基础目录 的 二进制文件目录添加到 PATH
中。
在 Linux 和 macOS 上,您可以通过运行 python -m site --user-base
找到 用户基础目录,然后把 bin
加到目录末尾。比如,上述命令典型地会打印出~/.local`
(
~会扩展为您的家目录的局对路径),然后将
~/.local/bin添加到
PATH中。您可以通过 [修改 ~/.profile](https://stackoverflow.com/a/14638025) 永久地设置
PATH`。
在 Windows 上,您通过运行 py -m site --user-site
找到用户基础目录,然后 将 site-packages
替换为 Scripts
。比如,上述命令可能返回为C:\Users\Username\AppData\Roaming\Python36\site-packages
,然后您需要在PATH
中包含 C:\Users\Username\AppData\Roaming\Python36\Scripts
。 您可以在 控制面板 .aspx) 中永久设置用户的 PATH
。您可能需要登出 PATH
更改才能生效。
安装 Pipenv Pipenv 是 Python 项目的依赖管理器。如果您熟悉 Node.js 的 npm 或 Ruby 的 bundler ,那么它们在思路上与这些工具类似。尽管 pip 可以安装 Python 包, 但仍推荐使用 Pipenv,因为它是一种更高级的工具,可简化依赖关系管理的常见使用情况。
使用 pip
来安装 Pipenv:
1 $ pip install --user pipenv
注解
这进行了 用户安装 ,以防止破坏任何系统范围的包。如果安装后, shell 中没有pipenv
,则需要将 用户基础目录 的 二进制文件目录添加到 PATH
中。
在 Linux 和 macOS 上,您可以通过运行 python -m site --user-base
找到 用户基础目录,然后把 bin
加到目录末尾。比如,上述命令典型地会打印出~/.local`
(
~会扩展为您的家目录的局对路径),然后将
~/.local/bin添加到
PATH中。您可以通过 [修改 ~/.profile](https://stackoverflow.com/a/14638025) 永久地设置
PATH`。
在 Windows 上,您通过运行 py -m site --user-site
找到用户基础目录,然后 将 site-packages
替换为 Scripts
。比如,上述命令可能返回为C:\Users\Username\AppData\Roaming\Python36\site-packages
,然后您需要在PATH
中包含 C:\Users\Username\AppData\Roaming\Python36\Scripts
。 您可以在 控制面板 .aspx) 中永久设置用户的 PATH
。您可能需要登出 PATH
更改才能生效。
pipenv使用方法命令名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 命令创建pipenv pipenv启动pipenv pipenv shell(为存在虚拟环境可自动创建) 退出pipenv exit 查找所有安装包 pip list 环境内包的依赖展示 pipenv graph 查找虚拟环境的路径 pipenv --venv 卸载安装包 pipenv uninstall 卸载pipenv虚拟环境 pipenv --rm 1、将目录更改为包含你的Python项目的文件夹,并启动Pipenv, cd my_project pipenv ·install ---------------------# 创建项目虚拟环境 $ pipenv install # 指定python版本创建虚拟环境 $ pipenv --two $ pipenv --three $ pipenv --python 3.6.5 # 升级所有包 $ pipenv update # 升级某一个包,如:redis $ pipenv update redis # 显示项目路径 $ pipenv --where # 显示virtualenv路径 $ pipenv --venv # 显示python虚拟解释器 $ pipenv --py # 激活虚拟环境 $ pipenv shell # 安装urllib模块 $ pipenv install urllib # 查看目前安装的库及依赖关系 $ pipenv graph # 检查包的安全性 # pipenv check # 激活虚拟环境并运行shell命令 $ pipenv run which python # 从文件导入包 $ pipenv install -r requirements.txt # 冻结软件包和版本依赖关系,生成Pipfile.lock文件 $ pipenv lock -r # 安装开发包 $ pipenv install --dev pytest pipenv install [moduel] --dev 安装包到开发环境# 使用系统上的python自带的包组件 $ pipenv --three --site-packages # 卸载包 pipenv uninstall[module] 卸载包 pipenv uninstall --all or --all-dev 卸载所有包
为项目建立虚拟环境 我们希望在每个项目的根目录下保存虚拟环境目录(.venv),需要在 .bashrc 或 .bash_profile 中配置如下:
1 export PIPENV_VENV_IN_PROJECT=1
要想使配置生效,执行下source ~/.bashrc或者source ~/.bash_profile。 接下来我们为项目创建虚拟环境。
1 2 3 $ mkdir pipenv_demo$ cd pipenv_demo$ pipenv --three
创建完虚拟环境之后,在pipenv_demo目录下将会看到一个.venv的目录,这个目录就是pipenv_demo项目的虚拟环境。使用具体的python版本创建虚拟环境,可以执行:
1 2 pip install -p pip install -p Pipfile.lock
为项目安装第三方依赖包 为项目安装自己的依赖包到虚拟环境中,使每个项目拥有相互独立的第三方包,是非常不错的Python的开发实践。安装依赖包到虚拟环境中:
1 2 $ pipenv install flask $ pipenv install pytest --dev
执行完上面的命令后,检查一下是否安装成功:
1 2 3 4 5 6 7 8 9 10 11 12 13 $ pipenv graph Flask==0.12.2 - click [required: >=2.0, installed: 6.7] - itsdangerous [required: >=0.21, installed: 0.24] - Jinja2 [required: >=2.4, installed: 2.10] - MarkupSafe [required: >=0.23, installed: 1.0] - Werkzeug [required: >=0.7, installed: 0.14.1] pytest==3.4.2 - attrs [required: >=17.2.0, installed: 17.4.0] - pluggy [required: >=0.5,<0.7, installed: 0.6.0] - py [required: >=1.5.0, installed: 1.5.2] - setuptools [required: Any, installed: 38.6.0] - six [required: >=1.10.0, installed: 1.11.0]12345678910111213
可看到已经安装了Flask和pytest,还列出了他们的依赖包。 这是观察项目的根目录下,生成了两个文件,分别是Pipfile和Pipfile.lock。这两个文件记录了此项目的第三方依赖包,这两个文件的区别是 Pipfile中安装的包不包含包的具体版本号,而Pipfile.lock是包含包的具体的版本号的
更新 pypi源来提高依赖库安装的速度 在使用pipenv的时候,常常会在安装的时候,一直卡在了 Locking 这里,通过加上 -v 参数,可以看到安装过程中的步骤信息,卡在了下载那里,这时应该可以意识到是因为网络的原因,pipenv创建的 Pipfile 中默认的pypi源是python官方的 https://pypi.python.org/simple 。我们国内用户访问下载的时候会很慢。
所以,我一般会在创建好Pipfile以后,修改到文件中 source 块下的 url 字段,设置为国内的 pypi 源就好了,我推荐的是清华的pypi源或者阿里源,具体设置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [[source]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" verify_ssl = true name = "pypi"1234 —————————————————————————————————————————————————————— $ cat Pipfile [[source]] url = "https://pypi.org/simple" #用来配置安装包的源,可以更换国内的源,注意在更好没有https的源时会不信任站点将verify_ssl设置为false verify_ssl = true name = "pypi" [[source]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" uerify_ssl = true name = 'tuna' [packages] requests = {version = "*", index = 'tuna''} #为不同的包指定不同的安装源 maya = {version = "*", index = "pypi" [packages] #安装的包及版本关系显示 redis = "*" [dev-packages] #安装的开发包 [requires] #指定项目运行的python版本,你可以在此指定一个系统上没有的版本,在创建虚拟环境是pipenv会通过pyenv下载指定版本的python python_version = "3.6"
linux下的双版本 1 2 3 4 5 6 7 8 9 10 11 sudo python2 hello.py sudo python3 hello.py# 指定版本运行源码 sudo pip2 install PackageName sudo pip3 install PackageName# 直接使用pip+版本 sudo python2 -m pip install PackageName sudo python3 -m pip install PackageName# -m 表示调用python模块, 这里就是要调用pip
源码内指定版本 将需要指定的python版本放在源码的第一行. 支持如下方式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # !/usr/bin/env # 使用默认的系统环境 # !python2 # !python3 # !/usr/bin/env python2 # !/usr/bin/env python3 # 指定python版本 # !/usr/bin/python2 # !/usr/bin/python3 # !/usr/local/bin/python2.7 # !/usr/local/bin/python3.5 # 通过路径指定版本
举个python3的例子, 格式如下:
1 2 3 4 5 # ! python3 # coding: utf-8 import logging# ... 源码
##
Pipenv官网
Pipenv & 虚拟环境
参考链接
py.qi
Pipenv: Python Dev Workflow for Humans
via