虛擬環(huán)境的工作原理
主要就是操作環(huán)境變量库物。
Python在非虛擬環(huán)境下的路徑:
$which python
/usr/bin/python
激活虛擬環(huán)境再次查看Python路徑:
$source env/bin/activate
(env)$which python
/Users/snail/python-env/env_A/bin/python
常見的虛擬環(huán)境命令及其使用
- virtualenv贷帮,適用于python2,用于創(chuàng)建虛擬環(huán)境。
安裝:
python2 -m pip install virtualenv
使用:
cd 項(xiàng)目目錄
virtualenv p2venv # 在項(xiàng)目目錄下創(chuàng)建一個虛擬環(huán)境目錄p2venv,包含python2的相關(guān)文件檔
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 項(xiàng)目目錄/p2venv/bin/activate # 激活虛擬環(huán)境
witch python
deactivate # 退出虛擬環(huán)境
- pyvenv镀虐,適用于python3刮便,用于取代python2的virutualenv
安裝:
python3 默認(rèn)自帶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 項(xiàng)目目錄/p3venv/bin/activate
which python
deactivate
- pyenv绽慈,版本管理器
安裝方式,參考github官網(wǎng)資料:https://github.com/pyenv/pyenv-installer
yum install git
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
執(zhí)行完成后搜贤,提示信息:
# 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/ # 先下載對應(yīng)版本到緩存中钝凶,再安裝
安裝地址:
pyenv install 3.6.0
~/.pyenv/versions/3.6.0
使用:
pyenv global命令,則是整個系統(tǒng)環(huán)境切換使用的python版本掂名,一般不用哟沫。
pyenv local命令,在當(dāng)前目錄下生成.python_version文件猾警,記錄了該目錄使用的python版本
- pyenv-virtualenv
安裝:centos裹虫,在安裝pyenv的過程中,會自動安裝
使用:
pyenv virtualenv 3.6.0 venv-3.6.0 # 創(chuàng)建虛擬環(huán)境
cd 項(xiàng)目目錄
pyenv local venv-3.6.0 # 此后進(jìn)入項(xiàng)目目錄筑公,自動使用虛擬環(huán)境
- pipenv的使用
安裝:
pip install --user pipenv
使用:
cd 項(xiàng)目目錄
pipenv install --two/three # 初始化,生成文件封救,如果已經(jīng)有Pipfile捣作,那么就根據(jù)Pipfile文件內(nèi)容生成項(xiàng)目的虛擬環(huán)境
在目錄下生成
|-- Pipfile
|-- Pipfile.lock
pipenv install/uninstall package
pipenv install --dev nose2 # dev指開發(fā)環(huán)境,意思只在開發(fā)環(huán)境安裝nose2
pipenv install # 與dev環(huán)境相對惩坑,不會安裝nose2包
pipenv shell # 激活虛擬環(huán)境并使用
pipenv run python test.py # 激活虛擬環(huán)境并執(zhí)行命令