虛擬環(huán)境

作者:成橙鋮
鏈接:http://www.itdecent.cn/p/07c467f339ea
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

虛擬環(huán)境中導(dǎo)入本地的包
 easy_install /root/Desktop/pyminizip-0.1.1.tar.gz 

1. virtualenv

  • 安裝和使用
$ pip install virtualenv
$ virtualenv venv  #創(chuàng)建一個(gè)venv名字的虛擬環(huán)境
$ source venv/bin/activate  #激活虛擬環(huán)境
$ virtualenv -p /usr/bin/python3 venv  # -p參數(shù)指定Python解釋器程序路徑
$ deactivate  # 退出虛擬環(huán)境
$ rm -rf venv  # 刪除虛擬環(huán)境

2. virtualenvwrapper

  • 讓使用virtualenv更加方便快捷
  • 安裝過(guò)程
$ pip install virtualenvwrapper  # 安裝virtuanenvwrapper,確保virtuanenv已經(jīng)安裝
# 將下面兩行加入到~/.bashrc中
$ export WORKON_HOME = ~/.virtualenvs 
$ source /usr/local/bin/virtualenvwrapper.sh
$ source ~/.bashrc   # 讀入配置文件,立即生效

  • 使用方法
$ mkvirtuanenv venv   # 創(chuàng)建虛擬環(huán)境
$ workon venv  # 進(jìn)入到虛擬環(huán)境中
$ mkvirtualenv -p /usr/binpyton3 venv # 創(chuàng)建指定版本的虛擬環(huán)境
$ deactivate # 退出虛擬環(huán)境
$ rmvirtualenv venv # 刪除虛擬環(huán)境

3. pyenv

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev

  • 安裝過(guò)程
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ ll
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$ exec "$SHELL"  # 重啟SHELL

  • 使用方法
 pyenv commands # 顯示所有的命令
$ rm -rf $(pyenv root) # 刪除pyenv

  • 更新pyenv
$ cd $(pyenv root)
$ git pull

  • 安裝與卸載
$ pyenv install -l # 查看可安裝的版本
$ pyenv install 2.7.8  # 安裝python2.7.8的版本
$ pyenv rehash # 安裝模塊后
$ pyenv pyenv uninstall 2.7.8 # 卸載

  • pyenv 切換Python版本
$ pyenv global 2.7.8  # 全局
$ pyenv local 2.7.8   # 當(dāng)前目錄下
$ pyenv shell 2.7.8   # shell版本
$ pyenv shell --unset # 取消當(dāng)前的shell設(shè)定的版本
#創(chuàng)建墊片路徑(為所有已安裝的可執(zhí)行文件創(chuàng)建 shims,如:~/.pyenv/versions/*/bin/*,因此,每當(dāng)你增刪了 Python 版本或帶有可執(zhí)行文件的包(如 pip)以后,都應(yīng)該執(zhí)行一次本命令)
$ pyenv rehash  

4.pyenv-virtualenv

  • 安裝
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

  • 使用方法
$ pyenv virtualenv 2.7.10 env-2.7.10  # 創(chuàng)建虛擬環(huán)境
$ pyenv activate env-2.7.10  # 激活虛擬環(huán)境
$ pyenv deactivate  # 退出虛擬環(huán)境
$ pyenv uninstall env-2.7.10 # 刪除虛擬環(huán)境
$ rm -rf ~/.pyenv/versions/env-2.7.10  #刪除真實(shí)目錄

5.pipenv

  • 安裝
$ pip install pipenv

  • 使用命令
$ mkdir Pipenv-test    # 新建一個(gè)目錄
$ cd Pipenv-test
$ pipenv --two/--three # 根據(jù)環(huán)境的python2/python3安裝虛擬環(huán)境   可以用pyenv設(shè)置當(dāng)前python環(huán)境
$ pipenv --two         # 創(chuàng)建好虛擬環(huán)境 在~/.virtualenv目錄里面
$ sed -i s/pypi.python.org/pypi.doubanio.com/g Pipfile  # 修改Pipfile中的源
$ pipenv shell         # 進(jìn)入虛擬環(huán)境
$ pipenv install requests # 安裝requests的包 
$ pipenv --rm          # 刪除當(dāng)前虛擬環(huán)境
$ pipenv uninstall --all     #刪除包 --all刪除全部包并且修改Pipfile
$ pipenv graph       # 顯示當(dāng)前依賴(lài)關(guān)系圖
$ pipenv lock        # 生成Pipenv.lock
# Pipfile.lock用來(lái)凍結(jié)軟件包名稱(chēng)及其版本以及其自己的依賴(lài)關(guān)系的列表
$ pipenv check       # 檢查包的安全性
$ exit               # 退出虛擬環(huán)境

  • pipfile pipfile.lock的區(qū)別:pipfile安裝的包中沒(méi)有指定包的版本,在pipfile.lock中指定了,有這個(gè)文件,以后安裝的時(shí)候?qū)⒆詣?dòng)安裝.lock中指定的版本。
  • 項(xiàng)目中的方便
$ pipenv install     # 克隆下來(lái)一個(gè)項(xiàng)目 Pipenv會(huì)找到Pipfiles,創(chuàng)建虛擬環(huán)境,安裝必要的包
$ pipenv install --dev pytest  # pytest包的名稱(chēng)會(huì)在Pipfile中的dev-packages下面
$ pipenv install -dev  # 安裝dev下面的包,項(xiàng)目部署的時(shí)候可以更好的區(qū)分
$ pipenv --site-packages # 系統(tǒng)的包會(huì)移動(dòng)到虛擬環(huán)境中
$ pipenv --help       # 還有其他命令就不一一介紹了,可以自行查看

6. ~/.pip/pip.conf配置

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/                                                                       
[install] 
trusted-host=mirrors.aliyun.com                                                                                           
[list]
format = columns   # pip list格式設(shè)置
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容