Centos7 python虛擬環境virtualenv和virtualenvwrapper簡單介紹

個人系統版本是html

[root@localhost ~]# cat /etc/os-release

個人Python版本是python

[root@localhost ~]# python3 -V

關於如何安裝Python請看個人django環境搭建的博客http://www.javashuo.com/article/p-dwhvyydf-hp.htmlshell

下面咱們來開始搭建基於Python3.6.2版本的虛擬環境virtualenv:django

一、因爲Centos自帶的yum源下載軟件比較慢,這裏咱們使用國內阿里的yum源。vim

備份系統自帶的yun源centos

[root@localhost ~]# mkdir /etc/yum.repos.d/backup [root@localhost ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/

咱們到阿里的鏡像站https://opsx.alibaba.com/mirror選擇一個合適的yum源緩存

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 [root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 [root@localhost ~]# yum clean all # 清除原來的yum緩存 [root@localhost ~]# yum makecache        # 生成新的緩存

163源:http://mirrors.163.com/.help/centos.htmlbash

中科大源:https://lug.ustc.edu.cn/wiki/mirrors/help/centosapp

二、安裝Python3的虛擬模塊virtualenvspa

[root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

 安裝後使用pip3  list進行查看

 三、建立virtualenv虛擬環境

[root@localhost opt]#cd  /opt [root@localhost opt]# virtualenv --no-site-packages --python=python3 env_1

--no-site-packages:表示使用一個只有Python3的環境,而不導入原來Python3中安裝模塊。

--python=python3:指定要被虛擬的解釋器環境。

env_1:表示虛擬的Python環境目錄。

四、建立好虛擬環境後,須要激活虛擬目錄

[root@localhost opt]# source env_1/bin/activate      # 激活虛擬目錄

激活成功後咱們發現原來的路徑前出現了虛擬環境的目錄,這樣咱們便成功激活並進入到了虛擬環境中。

 咱們來看下env_1的虛擬目錄下都有哪些文件

 咱們在看看bin目錄下都有什麼

 查看下pip3命令

 咱們能夠發現如今的Python環境所有都是env_1下的Python環境。在來查看下當前虛擬環境是不是純淨的Python環境

 虛擬環境只有純淨的Python環境,沒有摻雜系統本來安裝的模塊,也許你如今尚未發現他的魅力所在,下面咱們開始吧。

五、在env_1的虛擬環境下安裝django1.11.20

(env_1) [root@localhost opt]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.20

安裝好後咱們使用pip3 list查看下

 安裝成功後,咱們建立一個django項目django_1

(env_1) [root@localhost opt]# django-admin startproject django_1 (env_1) [root@localhost opt]# vim django_1/django_1/settings.py     # 修改配置文件容許其它主機能夠訪問

 啓動django項目

(env_1) [root@localhost opt]# python3 django_1/manage.py runserver 0.0.0.0:8000

 訪問django項目前,咱們須要暫時清空本機的防火牆規則,或者暫時關閉防火牆,不然在訪問本機8000端口時會被防火牆拒之門外的,咱們新開一個shell。

[root@localhost opt]#iptables  -F  # 清空防火牆規則

  [root@localhost ~]# systemctl stop firewalld.service   # 也能夠暫時關閉防火牆

若是上面一切順利的話,咱們將看到以下界面。

 六、下面咱們在建立個虛擬環境env_2(注意:你須要另開一個新shell來建立虛擬環境env_2

[root@localhost ~]# virtualenv --no-site-packages --python=python3 env_2

七、激活虛擬環境

[root@localhost ~]# source env_2/bin/activate

此時咱們在看下pip3和python3

 能夠發現是env_2下的Python3和pip3,在來查看下pip  list

 

 發現仍是純淨的Python環境,virtualenv正逐漸的向咱們展現它強大的一面。下面咱們在env_2中安裝django2.0

八、安裝django2.0

(env_2) [root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.0

 九、建立django2.0的項目

(env_2) [root@localhost ~]# django-admin startproject django_2 (env_2) [root@localhost ~]# vim django_2/django_2/settings.py

 十、啓動django2.0項目

(env_2) [root@localhost ~]# python3 django_2/manage.py runserver 0.0.0.0:9000

十一、訪問django2.0項目

 

 

這樣咱們便實現了在一個操做系統上同時運行django1.0和django2.0兩個環境,也許你可能以爲這還不夠,還有更多的功能等待咱們去探索。

十二、好了既然能夠運行虛擬環境,下面咱們來看看如何退出虛擬環境。其實很簡單,以下:

(env_2) [root@localhost ~]# deactivate    # 退出虛擬環境

咱們都知道Linux一切皆文件,因此若是想要刪除虛擬環境只需rm -r  env_1把虛擬環境的文件夾刪掉便可,好了virtualenv咱們就簡單介紹到這裏。

若是想要了解更多功能,請訪問virtualenv官網https://virtualenv.pypa.io/en/latest/


 

virtualenv 雖然功能很好用,可是有一個最大的缺點就是每次開啓虛擬環境以前要去虛擬環境所在目錄下的 bin 目錄下 source 一下 activate,這就須要咱們記住每一個虛擬環境所在的目錄。

而且還有可能你忘記了虛擬環境放在哪以及該虛擬環境對應哪一個項目。一種可行的解決方案是,將全部的虛擬環境目錄全都集中起來,例如/opt/all_venv/,而且針對不一樣的目錄作不一樣的事。但即便這樣在項目多的時候貌似也不是很方便,因而virtualenvwrapper便站了出來要解決這個問題,下面咱們簡單瞭解下virtualenvwrapper的使用。

一、安裝virtualenvwrapper

[root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper

安裝成功後看起來像下面這個樣子:

二、安裝成功後,設置開機啓動。

咱們能夠在/etc/profile中設置開機自啓動,這樣的話會影響系統全部用戶,也能夠在用戶家目錄下~/.bash_profile針對某個用戶進行設置。

這裏咱們針對root用戶進行設置。

[root@localhost ~]# vim ~/.bash_profile      # 在配置文件的末尾咱們添加以下配置

[root@localhost ~]# source  ~/.bash_profile     # 使文件當即生效

三、咱們在開一個shell登錄root,建立虛擬環境

[root@localhost Envs]# mkvirtualenv env_django_1

使用pip3 list 查看一下:

 下面的使用就和virtualenv相似了,這裏再也不重複。退出虛擬環境和virtualenv同樣

(env_django_1) [root@localhost Envs]# deactivate    # 退出虛擬環境

四、激活工做目錄和virtualenv不一樣,使用workon

[root@localhost Envs]# workon env_django_1    # 激活虛擬環境

五、查看有哪些虛擬環境

[root@localhost Envs]# lsvirtualenv

六、刪除虛擬環境

[root@localhost Envs]# rmvirtualenv env_django_1

跟多有趣的內容請看官方文檔:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

相關文章
相關標籤/搜索