django學習之pythonbrew部署開發環境
選擇pythonbrew的原因:
-
融合了virtualenv,建立隔離環境更方便快捷
-
具有pyenv的所擁有的所有功能(個人感覺更強悍)
使用示例
-
列出可安裝的 python 版本:
pythonbrew list --know
-
安裝某個版本的 python :
pythonbrew install 2.7.3
-
刪除已安裝的某版本的 python :
pythonbrew uninstall 2.7.3
-
列出已安裝的 python 版本(當前使用的版本後會用星號標記):
pythonbrew list
-
使用某個版本的 python (僅當前終端視窗有效):
pythonbrew use 2.7.3
-
切換到某個版本的 python (一直有效):
pythonbrew switch 2.7.3
-
清理陳舊的原始碼目錄和檔案包:
pythonbrew cleanup
-
升級到pythonbrew到最新版本:
pythonbrew update
-
禁用pythonbrew(即切換回原始環境):
pythonbrew off
-
建立python隔離環境(藉助virtualenv):
安裝指令碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
(fuck)[root@php ~]# cat pythonbrew.sh #!/bin/bash #Function: create pythonbrew env #Author: zhuima #Date: 2014-11-06 #Version: 0.1 # REVTAL=0 # import Functions . /etc/rc.d/init.d/functions # check network . /etc/sysconfig/network if [ $NETWORKING = `no` ];then exit $REVTAL
fi # install epel yum source function epel_install(){ if rpm --version &>/dev/null;then
rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
else
exit $REVTAL
print "please checking your yum configure!"
fi
} # install base packages function base_packages(){ if yum repolist &>/dev/null;then
yum install yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel patch -y
else
exit $REVTAL
print "please checking your yum configure!"
fi
} # install pip function pip_install(){ if yum repolist &>/dev/null;then
yum install python-pip -y
else
exit $REVTAL
print "please checking your yum configure!"
fi
} # install pythonbrew function pythonbrew_install(){ if pip -V &>/dev/null;then
pip install pythonbrew
pip install virtualenv
else
exit $REVTAL
print "please checking your pip configure!"
fi
} # config pythonbrew env function pythonbrew_env(){ echo `[[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc"` >>~/.bashrc
. /usr/bin/pythonbrew_install && source ~/.bashrc
} # install python 2.7.6 function python_install(){ if $HOME/.pythonbrew/bin/pythonbrew --version &>/dev/null;then
$HOME/.pythonbrew/bin/pythonbrew install 2.7.6
else
exit $REVTAL
print "please checking your pyenv configure"
fi
} # install ipdb、ipython function install_ipython(){ if pip --version &>/dev/null;then
pip install ipdb
pip install ipython
else
yum install pip -y
pip install ansible
pip install ipython
fi
} while :;do cat << EOF +-------------------------------------------+ |1、Install epel_install | |2、Install base_packages | |3、Install pip_install | |4、Install pythonbrew_install | |5、Install pythonbrew_env | |6、Install python_install | |7、Install install_ipython | |8、One-Click Setup | |9、[Q|q|quit] to quit | +-------------------------------------------+ EOF read -p "select which one packages you want to install: " choice case $choice in 1)
epel_install
;;
2)
base_packages
;;
3)
pip_install
;;
4)
pythonbrew_install
;;
5)
pythonbrew_env
;;
6)
python_install
;;
7)
install_ipython
;;
8)
epel_install
base_packages
pip_install
pythonbrew_install
pythonbrew_env
python_install
install_ipython
;;
Q|q|quit)
exit $REVTAL
;;
*)
echo "Usage: select one number(1|2|3|4|5|6|7|8|9)"
exit $REVTAL
;;
esac done |
簡單演示:
-
建立一個名為flask的虛擬壞境並切換到這個虛擬環境下面
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@php blog]# pythonbrew venv create flask Creating `flask` environment into /root/.pythonbrew/venvs/Python-2.7.6 Already using interpreter /root/.pythonbrew/pythons/Python-2.7.6/bin/python New python executable in /root/.pythonbrew/venvs/Python-2.7.6/flask/bin/python Installing setuptools.............done. Installing pip...............done. [root@php blog]# pythonbrew venv use flask # Using `flask` environment (found in /root/.pythonbrew/venvs/Python-2.7.6) # To leave an environment, simply run `deactivate` (flask)[root@php blog]# (flask)[root@php blog]# (flask)[root@php blog]# |
-
在這個虛擬環境下安裝版本為1.6的django
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
(flask)[root@php ~]# pip install django==1.6 # 安裝版本為1.6的django Downloading/unpacking django==1.6 Downloading Django-1.6.tar.gz (6.6MB): 6.6MB downloaded
Running setup.py egg_info for package django
warning: no previously-included files matching `__pycache__` found under directory `*`
warning: no previously-included files matching `*.py[co]` found under directory `*`
Installing collected packages: django Running setup.py install for django
changing mode of build/scripts-2.7/django-admin.py from 644 to 755
warning: no previously-included files matching `__pycache__` found under directory `*`
warning: no previously-included files matching `*.py[co]` found under directory `*`
changing mode of /root/.pythonbrew/venvs/Python-2.7.6/flask/bin/django-admin.py to 755
Successfully installed django Cleaning up... (flask)[root@php ~]# python -c "import django;print (django.get_version())" # 在我們建立虛擬環境中列印django的版本 1.6 (flask)[root@php ~]# pythonbrew off [root@php ~]# python -c "import django;print (django.get_version())" # 列印django版本,這裡提示沒有這個模組 Traceback (most recent call last): File "< string >", line 1, in < module >
ImportError: No module named django [root@php ~]# |
擼完收工,也就是一個工具而已,不必在意這些細節,能用就好,python多版本管理工具很多的,找一個適合自己的就行,多了反而會被其所左右~
本文轉自lovelace521 51CTO部落格,原文連結:http://blog.51cto.com/lovelace/1585432,如需轉載請自行聯絡原作者
相關文章
- tensorflow學習之Anaconda開發環境搭建開發環境
- (七)Flutter學習之開發環境搭建Flutter開發環境
- python學習之Python整合開發環境Python開發環境
- laravel學習筆記之開發環境搭建Laravel筆記開發環境
- django專案開發環境搭建Django開發環境
- php 學習筆記之搭建開發環境(mac版)PHP筆記開發環境Mac
- Django之Ubuntu環境搭建DjangoUbuntu
- 規範:開發環境部署開發環境
- 【機器學習】深度學習開發環境搭建機器學習深度學習開發環境
- Flutter學習指南:開發環境搭建Flutter開發環境
- JAVA學習——JDK開發環境配置JavaJDK開發環境
- Ubuntu下Python & Django開發環境搭建UbuntuPythonDjango開發環境
- rust學習一、入門之搭建簡單開發環境Rust開發環境
- Flutter學習(一)——搭建開發環境(Windows)Flutter開發環境Windows
- 谷歌JAX深度學習開發環境搭建谷歌深度學習開發環境
- 《Angular2 從開發到部署系列》之「環境搭建」Angular
- JEESZ分散式框架開發環境部署分散式框架開發環境
- Delphi10.3.3 部署android 開發環境Android開發環境
- django2專案環境開發基本配置Django
- Flutter開發入門之開發環境搭建(VSCode搭建Flutter開發環境)Flutter開發環境VSCode
- ThinkPHP 開發環境之 HomesteadPHP開發環境
- CentOS7 + Python3 + Django(rest_framework) + MariaDB + nginx + uwsgi 部署 API 開發環境CentOSPythonDjangoRESTFrameworkNginxAPI開發環境
- win10+vscode部署java開發環境Win10VSCodeJava開發環境
- Hadoop HA叢集 與 開發環境部署Hadoop開發環境
- Webpack4 學習筆記八 開發環境和生產環境配置Web筆記開發環境
- tensorflow學習筆記1——mac開發環境配置筆記Mac開發環境
- 《學習 VUE - Windows 下配置 vue 的開發環境 》VueWindows開發環境
- Dubbo 學習筆記(五) 開發環境常用技巧筆記開發環境
- Linux開發環境必備的工具!Linux學習Linux開發環境
- 五步搞定Android開發環境部署——非常詳細的Android開發環境搭建教程Android開發環境
- ionic開發環境搭建之ios開發環境iOS
- Scala開發之1:環境搭建
- 【Flutter】開發之環境搭建(一)Flutter
- idea開發之springboot環境搭建IdeaSpring Boot
- 基於Nginx和uwsgi搭建Django部署上線環境NginxDjango
- CentOS7---部署Nginx+uwsgi+Django+python3環境CentOSNginxDjangoPython
- L01 學習筆記--開發環境佈置筆記開發環境
- webpack學習筆記:搭建基本的前端開發環境Web筆記前端開發環境
- 小白學習Golang(二)Go語言開發環境搭建Golang開發環境