Python基础-虚拟环境
安装过程中,如果出现如下 error 信息是,可以尝试切换源重新下载
阿里源,不行
$ pip install virtualenv
Looking in indexes: http://pypi.douban.com/pypi/simple
Collecting virtualenv
The repository located at pypi.douban.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host pypi.douban.com'.
Could not find a version that satisfies the requirement virtualenv (from versions: )
No matching distribution found for virtualenv
豆瓣源,不行
$ pip install virtualenv --trusted-host pypi.douban.com
Looking in indexes: http://pypi.douban.com/pypi/simple
Collecting virtualenv
Could not find a version that satisfies the requirement virtualenv (from versions: )
No matching distribution found for virtualenv
官方源,不行
$ pip install virtualenv -i https://pypi.python.org/simple/
Looking in indexes: https://pypi.python.org/simple/
Collecting virtualenv
Downloading https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl (1.9MB)
4% |█▌ | 92kB 2.7kB/s eta 0:11:08Exception:
Traceback (most recent call last):
....
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
清华源,可以
$ pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting virtualenv
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ed/ea/e20b5cbebf45d3096e8138ab74eda139595d827677f38e9dd543e6015bdf/virtualenv-15.2.0-py2.py3-none-any.whl (2.6MB)
100% |████████████████████████████████| 2.6MB 4.1MB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-15.2.0
virtualenv ENV
% cd /Users/xxx/Desktop/testvirtuals
% virtualenv virtual1
Using base prefix '/usr/local/Cellar/python3/3.6.4_1/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/xxx/Desktop/testvirtuals/virtual1/bin/python3.6
Also creating executable in /Users/xxx/Desktop/testvirtuals/virtual1/bin/python
Installing setuptools, pip, wheel...done.
创建虚拟环境结果
注意:
Using base prefix
使用的是3.6版本环境,原因是 virtualenv 安装位置就在3.6下,所以默认使用的是其安装位置版本的 Python 环境% /Users/xxx/Desktop/testvirtuals/virtual1/bin/python3 --version
Python 3.6.4
% /Users/xxx/Desktop/testvirtuals/virtual1/bin/python --version
Python 3.6.4
可选参数:-p
指定 Python2.x 版本创建虚拟环境
virtualenv -p /usr/local/bin/python2.7 testvirtual2
执行效果
$ virtualenv -p /usr/local/bin/python2.7 ENV
Running virtualenv with interpreter /usr/local/bin/python2.7
New python executable in /Users/minyu_leung/Desktop/virtual2/ENV/bin/python2.7
Also creating executable in /Users/minyu_leung/Desktop/virtual2/ENV/bin/python
Installing setuptools, pip, wheel...done.
--system-site-packages
添加参数--system-site-packages
,项目检索库的时候,也会到系统的三方库中找
不添加时,默认只到虚拟环境中查找库
virtualenv --system-site-packages ENV
在 Mac 下,激活所创建的虚拟环境步骤:
cd /Users/xxx/Desktop/testvirtuals/virtual1
$ source bin/activate
(virtual1)
带 source 命令
验证当前确实在已激活的虚拟环境中,执行命令 pip --version 和 pip list
每次打印后都会提示(virtual1),所在环境是虚拟环境
退出虚拟环境,在激活的虚拟环境中,执行命令 deactivate
$ deactivate
注意,不用带 source 命令
验证已经退出,执行命令 pip --version 和 pip list
结果都是来自系统环境
注意:如果系统是 Windows 的话,则不需要带上 source 命令,直接 cd 进入Scripts脚本文件夹中,然后执行 activate 和 deactivate 脚本即可。与 Mac 不同的是,虚拟环境的 bin 目录下只有 activate 脚本,没有 deactivate 脚本。
Windows 下的虚拟环境 Scripts 文件夹文件目录
Mac 虚拟环境 bin 目录文件
使用文档中也有说 source 使用原因:
以上操作均作用在虚拟环境中。
场景:确保共享的项目能够在其他电脑上正常运行
解决:
技能点:
创建后,目录结构
总结:
IDE 让虚拟环境的使用更加方便,图形化创建和切换,包的管理等。让程序员更关注项目的开发而非各种命令的记忆。
virtualenvwrapper
使用文档
mkvirtualenv venv1
workon venv2
deactivate
rmvirtualenv env1
lsvirtualenv
弊端
使用文档
使用文档2
pipenv 命令使用一览
pipenv 命令都是参照项目中的 Pipfile 位置和内容操作的,类似 cocoapods 的 pod 命令参照podfile文件操作。
1. cd 到项目文件夹目录下
2. 在该目录下执行命令
pipenv --two # 指定参照Python版本
或
pipenv --three
3. 查看相关信息
查看位置:pipenv --where
查看虚拟环境位置:pipenv --venv
查看解析器信息:pipenv --py
pipenv shell
pipenv install requests
注意:不要使用 pip install 命令,使用的话虽然可以在虚拟环境中安装对应的包,但是不会更新 PIPfile 和 PIPfile.lock
命令:pipenv install [三方库名]
作用:
一、检测当前项目对应的虚拟环境是否存在,不存在则创建。如果当前项目已经存在 Pipfile 和 Pipfile.lock 文件,则参照这两个文件内容创建虚拟环境并安装文件指定的三方库
二、在虚拟环境中安装指定三方库,如果没有指定,则不安装
三、在项目目录下,通过 Pipfile 和 Pipfile.lock 记录当下已经安装的三方库信息
pipenv graph
pipenv uninstall requests
exit
或
直接关闭 shell 窗口
先 cd 进入 Pipfile 文件目录位置
pipenv --rm
应该包括文件有:
操作步骤:
pipenv install
参考:
https://www.jianshu.com/p/a83a8f5d68dd?utm_campaign=maleskine&utm_content=note&utm_medium=writer_share&utm_source=weibo