一個鼓搗電腦多年的程序猿,帶給你的幾點編程套路和幾個靈巧工具,但願爲你的編程之路添磚加瓦,加血回藍,一塊兒拼荊斬棘,共同成長。統稱:小竈時間,做者:第8哥。html
實際工做中,咱們接觸的 Python 版本和相關的 web 框架版本每每是不同的,好比有的組合多是 python2 + Django1.8,有的多是 python3.6 + Django1.12,兩個還好辦,我在電腦上安裝兩個版本的 python 不就行了?python
可是,若是有五六七八個項目,須要五六七八套 python 環境呢?這就輪到虛擬環境登場了。linux
直接下載安裝包,下載完,直接下一步默認安裝就好。web
記得選上添加到環境變量path,或者安裝完手動添加sql
直接下載腳本 xxxx.sh ,xxxx 指代版本號,打開控制檯終端,cd 到那個下載目錄,而後直接 sh xxxx.sh 安裝就ok了shell
(Windows最好配合ConEmu,cmder等非原裝cmd使用)django
#查看版本 conda info —envs 或 conda env list # **注意,爲了不你的網絡太慢,請先運行下面命令加速一些** (這裏只是多添加了一些下載軟件包的頻道,方便國內下載,若是要更換,能夠自行搜索:anaconda國內源) conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes # 安裝完整版python2版本的conda conda create -n py2 python=2 anaconda # 移除虛擬環境 conda remove --all -n 3todo # 建立只有django的python2環境,名字py2-dj,注意,python=2 django是連續參數 conda create python=2 django -n py2-dj # 若是不指定python版本,那是不可以滴,會報錯 conda create -n env-test Error: too few arguments, must supply command line package specs or --file # 因此要至少指定個python版本,能夠不帶任何庫 conda create -n env-test python=3 Fetching package metadata ....... # clone環境的2種辦法 1. pip(只是複製安裝包) (pytest) C:\ProgramData\Anaconda3>cd D:\pyTools (pytest) C:\ProgramData\Anaconda3>d: (pytest) D:\pyTools>pip freeze > env.txt env.txt裏內容以下: Django==1.10.5 新建環境pytest2,並進入,加入這裏只有個requests (pytest2) D:\pyTools>pip freeze requests==2.14.2 下面把pytest的包安裝過來 (pytest2) D:\pyTools>pip freeze requests==2.14.2 (pytest2) D:\pyTools>pip install -r env.txt Collecting Django==1.10.5 (from -r env.txt (line 1)) Downloading Django-1.10.5-py2.py3-none-any.whl (6.8MB) 100% |████████████████████████████████| 6.8MB 144kB/s Installing collected packages: Django Successfully installed Django-1.10.5 (pytest2) D:\pyTools>pip freeze Django==1.10.5 requests==2.14.2 2. 使用clone命令(複製整套環境) D:\pyTools>conda create --clone pytest2 -n py3 Source: C:\Anaconda3\envs\pytest2 Destination: C:\Anaconda3\envs\py3 (py3) D:\pyTools>pip freeze Django==1.10.5 requests==2.14.2
新建虛擬環境示意圖:編程
D:\pyTools>cc py2dj18 python=2 django=1.8 Fetching package metadata ....... Solving package specifications: .......... coa py2dj18 # 激活環境 1. 新建 project django-admin.py startproject pxjgz 2. 新建 app cd pxjgz 進入目錄 python manage.py startapp app01 或 django-admin.py startapp app01 3. python manage.py runserver
打開瀏覽器,在 127.0.0.1:8000
就能看見能夠工做的界面了。瀏覽器
是否是上面有些命令運行不了?彆着急,由於我自定義了一些。bash
下面是我本身編的,你能夠自定義。而後放到
.bashrc
,或.bash_profile
就能夠了!
# alias for conda alias cl="conda env list" alias cc="conda create -n" alias coa="source activate" alias cod="source deactivate" alias cr="conda remove --all -n"
注意:對於Linux,最好本身添加一下環境變量,conda的腳本執行完,也會提醒你的。
添加下面這行到.bashrc
,
export PATH=/root/anaconda3/bin:$PATH
最後別忘了從新加載一下。
source ~/.bashrc
在settings->Startup>Environment
alias cl=conda env list alias cc=conda create -n $* alias coa=activate $* alias cod=deactivate alias cr=conda remove --all -n $*
創建py3-dj,使用和刪除的整個過程
------- ~ cc py3-dj python=3 django Fetching package metadata ....... Solving package specifications: .......... Package plan for installation in environment /Users/howie/anaconda3/envs/py3-dj: The following packages will be downloaded: package | build ---------------------------|----------------- django-1.9.5 | py35_0 3.6 MB setuptools-26.1.1 | py35_0 524 KB ------------------------------------------------------------ Total: 4.1 MB The following NEW packages will be INSTALLED: django: 1.9.5-py35_0 openssl: 1.0.2h-2 pip: 8.1.2-py35_0 python: 3.5.2-0 readline: 6.2-2 setuptools: 26.1.1-py35_0 sqlite: 3.13.0-0 tk: 8.5.18-0 wheel: 0.29.0-py35_0 xz: 5.2.2-0 zlib: 1.2.8-3 Proceed ([y]/n)? y Fetching packages ... django-1.9.5-p 100% |################################| Time: 0:00:08 437.51 kB/s setuptools-26. 100% |################################| Time: 0:00:03 154.73 kB/s Extracting packages ... [ COMPLETE ]|###################################################| 100% Linking packages ... [ COMPLETE ]|###################################################| 100% # # To activate this environment, use: # $ source activate py3-dj # # To deactivate this environment, use: # $ source deactivate # ➜ ~ cl # conda environments: # py2 /Users/howie/anaconda3/envs/py2 py2-dj /Users/howie/anaconda3/envs/py2-dj py3-dj /Users/howie/anaconda3/envs/py3-dj root * /Users/howie/anaconda3 ➜ ~ coa py3-dj (py3-dj) ➜ ~ python Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:52:12) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import django >>> django.__version__ '1.9.5' >>> (py3-dj) ➜ ~ cod ➜ ~ cl # conda environments: # py2 /Users/howie/anaconda3/envs/py2 py2-dj /Users/howie/anaconda3/envs/py2-dj py3-dj /Users/howie/anaconda3/envs/py3-dj root * /Users/howie/anaconda3 ➜ ~ cr py3-dj Package plan for package removal in environment /Users/howie/anaconda3/envs/py3-dj: The following packages will be REMOVED: django: 1.9.5-py35_0 openssl: 1.0.2h-2 pip: 8.1.2-py35_0 python: 3.5.2-0 readline: 6.2-2 setuptools: 26.1.1-py35_0 sqlite: 3.13.0-0 tk: 8.5.18-0 wheel: 0.29.0-py35_0 xz: 5.2.2-0 zlib: 1.2.8-3 Proceed ([y]/n)? y Unlinking packages ... [ COMPLETE ]|###################################################| 100%
做者:第8哥,轉載請註明出處