虚拟环境的工作原理
主要就是操作环境变量。
Python在非虚拟环境下的路径:
$which python
/usr/bin/python
激活虚拟环境再次查看Python路径:
$source env/bin/activate
(env)$which python
/Users/snail/python-env/env_A/bin/python
常见的虚拟环境命令及其使用
- virtualenv,适用于python2,用于创建虚拟环境。
安装:
python2 -m pip install virtualenv
使用:
cd 项目目录
virtualenv p2venv # 在项目目录下创建一个虚拟环境目录p2venv,包含python2的相关文件档
p2venv目录下
|-- bin
| |-- activate
| |-- activate.csh
| |-- activate.fish
| |-- activate_this.py
| |-- easy_install
| |-- easy_install-2.7
| |-- pip
| |-- pip2
| |-- pip2.7
| |-- python
| |-- python2 -> python
| |-- python2.7 -> python
| |-- python-config
| `-- wheel
|-- include
| `-- python2.7 -> /usr/include/python2.7
|-- lib
| `-- python2.7
|-- lib64 -> lib
`-- pip-selfcheck.json
source 项目目录/p2venv/bin/activate # 激活虚拟环境
witch python
deactivate # 退出虚拟环境
- pyvenv,适用于python3,用于取代python2的virutualenv
安装:
python3 默认自带pyvenv
使用:
python3 -m venv p3venv
p3venv
|-- bin
| |-- activate
| |-- activate.csh
| |-- activate.fish
| |-- easy_install
| |-- easy_install-3.6
| |-- pip
| |-- pip3
| |-- pip3.6
| |-- python -> python3
| `-- python3 -> /usr/bin/python3
|-- include
|-- lib
| `-- python3.6
|-- lib64 -> lib
`-- pyvenv.cfg
source 项目目录/p3venv/bin/activate
which python
deactivate
- pyenv,版本管理器
安装方式,参考github官网资料:https://github.com/pyenv/pyenv-installer
yum install git
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
执行完成后,提示信息:
# Load pyenv automatically by adding
# the following to ~/.bash_profile:
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
使用:
pyenv install 3.6.0 #随意安装一个python版本
pyenv加速下载脚本
v=3.6.0 && wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/ # 先下载对应版本到缓存中,再安装
安装地址:
pyenv install 3.6.0
~/.pyenv/versions/3.6.0
使用:
pyenv global命令,则是整个系统环境切换使用的python版本,一般不用。
pyenv local命令,在当前目录下生成.python_version文件,记录了该目录使用的python版本
- pyenv-virtualenv
安装:centos,在安装pyenv的过程中,会自动安装
使用:
pyenv virtualenv 3.6.0 venv-3.6.0 # 创建虚拟环境
cd 项目目录
pyenv local venv-3.6.0 # 此后进入项目目录,自动使用虚拟环境
- pipenv的使用
安装:
pip install --user pipenv
使用:
cd 项目目录
pipenv install --two/three # 初始化,生成文件,如果已经有Pipfile,那么就根据Pipfile文件内容生成项目的虚拟环境
在目录下生成
|-- Pipfile
|-- Pipfile.lock
pipenv install/uninstall package
pipenv install --dev nose2 # dev指开发环境,意思只在开发环境安装nose2
pipenv install # 与dev环境相对,不会安装nose2包
pipenv shell # 激活虚拟环境并使用
pipenv run python test.py # 激活虚拟环境并执行命令