python虚拟环境
官方文档:github/pipenv
虚拟环境的好处
-
隔离环境
-
这个网上说法都有很多了,最实际的,就是不会干扰不同项目。你有的项目使用的可能是python2,那么相关的包也是python2的,有是使用python3,如果不使用虚拟环境,那么首先一点你就没办法安装特定版本的包了。还有一个比较实际的,你有使用要把项目发给别人,要把使用到的包都导出requirements,如果不是使用的虚拟环境,你导入的包可能会远远越过你真正使用的到的包。我之前有做过一个小应用打包成exe方便别人使用,整个项目其实很小,结果由于一开始偷懒没有创建虚拟环境,结果打包后的exe竟然有2,300M大,后面重新放进虚拟环境再打包,真正大小才7M。这个好处不要太明显了。
虚拟环境工具
- virtualenv
- Virtualenvwrapper
- conda
- pipenv
pipenv
pipenv是Python官方推荐的包管理工具。 它综合了 virtualenv , pip 和 pyenv 三者的功能。能够自动为项目创建和管理虚拟环境。如果你使用过requests库,就一定会爱上这个库,因为是同一个大神出品。 pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息,避免构建错误。相比pip需要手动维护requirements.txt 中的安装包和版本,具有很大的进步。
-
安装
sudo su pip install pipenv pip3 install pipenv
-
创建虚拟环境
cd yourproject pipenv install #创建虚拟环境
-
激活pipenv Shell & 部署环境
pipenv shell # 进入虚拟环境 exit # 退出虚拟环境 pipenv install requests #直接安装需要的库 pipenv uninstall requests #卸载不需要的库
-
换源
打开pipfile文件,修改url属性 douban源,清华源,随意选。 url = "https://pypi.douban.com/simple" url = "https://pypi.tuna.tsinghua.edu.cn/simple"
-
其他命令
pipenv --where #显示目录信息 pipenv --venv #显示虚拟环境信息 pipenv --py #显示Python解释器信息 pipenv graph #查看目前安装的库及其依赖 pipenv check #检查安全漏洞
pip换源
经常下东西的时候出现一堆红色报错和
time out
,pip的时候默认的pip源在国外,经常连接超时,所以需要自己设置使用国内的pip源
解决方案如下:
-
临时修改
使用pip3安装的包的时候,加上-i参数,指定使用阿里的pip源安装
pip install pipenv -i http://mirrors.aliyun.com/pypi/simple
-
永久修改
一劳永逸,通过文件永久修改,指定每一次都使用阿里的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/ 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
linux 系统:
-
创建一个文件夹及文件。文件夹创建时前边要加“.”,表示是隐藏文件夹
-
具体如下:
mkdir ~/.pip cd ~/.pip vi pip.conf # 加入如下内容,使用阿里的pip源 [global] index-url=https://mirrors.aliyun.com/pypi/simple [install] trusted-host=mirrors.aliyun.com
-
参考: